/* ZSOne Platform v0.4.0 — real dashboard foundation. */
.zs-dashboard-context{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:0 0 18px;padding:20px 22px;border:1px solid #e4dfd4;border-radius:16px;background:linear-gradient(135deg,#fff 0%,#fbf8f0 100%);box-shadow:0 8px 28px rgba(35,38,43,.045)}
.zs-dashboard-context-copy{min-width:0}.zs-dashboard-context-copy h3{margin:8px 0 4px;color:#25282d;font-size:24px;line-height:1.2;letter-spacing:-.025em}.zs-dashboard-context-copy p{display:flex;align-items:center;gap:7px;margin:0;color:#73777d;font-size:11px;font-weight:700}.zs-dashboard-context-copy p .auth-icon{width:15px;height:15px;color:#9b7122}
.zs-dashboard-switchers{display:flex;align-items:flex-end;gap:10px;flex:0 1 600px;justify-content:flex-end}.zs-dashboard-switcher{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;min-width:220px}.zs-dashboard-switcher label{grid-column:1/-1;display:flex;align-items:center;gap:6px;color:#686c72;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.zs-dashboard-switcher label .auth-icon{width:14px;height:14px;color:#9b7122}.zs-dashboard-switcher select{min-width:0;height:42px;padding:0 34px 0 12px;border:1px solid #d9d5cc;border-radius:10px;background:#fff;color:#30343a;font:inherit;font-size:11px;font-weight:750;outline:none}.zs-dashboard-switcher select:focus{border-color:#b68a35;box-shadow:0 0 0 3px rgba(182,138,53,.12)}.zs-dashboard-switcher select:disabled{background:#f3f2ef;color:#9a9da2}.zs-dashboard-switcher button{height:42px;padding:0 12px;border:1px solid #ded8cc;border-radius:10px;background:#fff;color:#585d63;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.zs-dashboard-switcher button:hover{background:#f8f5ed;border-color:#cab98f}.zs-dashboard-switcher.is-js button{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.zs-dashboard-empty{display:flex;align-items:center;gap:18px;padding:28px}.zs-dashboard-empty-icon{display:grid;place-items:center;width:58px;height:58px;flex:0 0 auto;border-radius:15px;background:#f3eddf;color:#8b6728}.zs-dashboard-empty-icon .auth-icon{width:26px;height:26px}.zs-dashboard-empty div{min-width:0;flex:1}.zs-dashboard-empty h3{margin:0 0 7px;color:#292d32;font-size:18px}.zs-dashboard-empty p{margin:0;color:#777b80;font-size:11px;line-height:1.6}.zs-dashboard-empty>a{display:inline-flex;align-items:center;gap:8px;padding:11px 13px;border-radius:10px;background:#2f3339;color:#fff;text-decoration:none;font-size:10px;font-weight:800}.zs-dashboard-empty>a .auth-icon{width:15px;height:15px}
.zs-dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.zs-dashboard-kpis article{display:flex;align-items:center;gap:13px;min-height:88px;padding:16px;border:1px solid #e4e1da;border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(35,38,43,.035)}.zs-dashboard-kpi-icon{display:grid;place-items:center;width:39px;height:39px;flex:0 0 auto;border:1px solid #eadfc9;border-radius:11px;background:#f9f4e9;color:#936a23}.zs-dashboard-kpi-icon .auth-icon{width:18px;height:18px}.zs-dashboard-kpis small{display:block;margin-bottom:3px;color:#85898e;font-size:9px;font-weight:750}.zs-dashboard-kpis strong{display:block;color:#272b30;font-size:23px;line-height:1}
.zs-dashboard-primary-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.75fr);gap:16px;margin-bottom:16px}.zs-dashboard-project-panel,.zs-dashboard-status-panel,.zs-dashboard-recent-projects,.zs-dashboard-activity,.zs-dashboard-modules{overflow:hidden}.zs-dashboard-project-hero{padding:0 18px 18px}.zs-dashboard-project-badge{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid #e6e1d6;border-radius:13px;background:#fbfaf7}.zs-dashboard-project-badge>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:11px;background:#30343a;color:#e5b94c}.zs-dashboard-project-badge>span .auth-icon{width:20px;height:20px}.zs-dashboard-project-badge small{display:block;color:#9a7026;font-size:9px;font-weight:850;letter-spacing:.055em;text-transform:uppercase}.zs-dashboard-project-badge strong{display:block;margin-top:3px;color:#2c3035;font-size:15px}.zs-dashboard-project-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:10px;border:1px solid #ebe7df;border-radius:12px;overflow:hidden;background:#ebe7df}.zs-dashboard-project-facts>div{min-width:0;padding:12px;background:#fff}.zs-dashboard-project-facts small{display:block;margin-bottom:4px;color:#909399;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.zs-dashboard-project-facts strong{display:block;overflow:hidden;color:#44484e;font-size:10px;line-height:1.4;text-overflow:ellipsis}.zs-dashboard-project-empty{display:flex;align-items:center;gap:13px;margin:0 18px 18px;padding:20px;border:1px dashed #dedbd4;border-radius:12px;background:#fcfbf8}.zs-dashboard-project-empty>span{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border-radius:12px;background:#f1eee7;color:#777c82}.zs-dashboard-project-empty>span .auth-icon{width:20px;height:20px}.zs-dashboard-project-empty strong{display:block;color:#383c41;font-size:12px}.zs-dashboard-project-empty p{margin:4px 0 0;color:#868a90;font-size:10px;line-height:1.5}.zs-dashboard-panel-actions{display:flex;justify-content:flex-end;padding:0 18px 18px}.zs-dashboard-panel-actions a,.zs-dashboard-recent-projects .zs-panel-head>a{display:inline-flex;align-items:center;gap:7px;color:#7d5b20;text-decoration:none;font-size:9px;font-weight:850}.zs-dashboard-panel-actions .auth-icon,.zs-dashboard-recent-projects .zs-panel-head>a .auth-icon{width:14px;height:14px}
.zs-dashboard-status-list{display:grid;gap:0;margin:0 16px 14px;border:1px solid #e9e5dd;border-radius:12px;overflow:hidden}.zs-dashboard-status-list>div{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:42px;padding:8px 11px;border-top:1px solid #efede7;background:#fff}.zs-dashboard-status-list>div:first-child{border-top:0}.zs-dashboard-status-list strong{color:#4c5056;font-size:10px}.zs-dashboard-status-list em{font-style:normal;color:#2f3338;font-size:12px;font-weight:850}.zs-dashboard-status-dot{width:8px;height:8px;border-radius:50%;background:#b2b4b7}.zs-dashboard-status-dot.is-active{background:#4f8a60}.zs-dashboard-status-dot.is-planning{background:#b78a32}.zs-dashboard-status-dot.is-on_hold{background:#b86f42}.zs-dashboard-status-dot.is-completed{background:#677581}.zs-dashboard-role-card{display:flex;align-items:center;gap:10px;margin:0 16px 16px;padding:12px;border:1px solid #e5dfd2;border-radius:11px;background:#f9f5eb}.zs-dashboard-role-card>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#fff;color:#916922}.zs-dashboard-role-card>span .auth-icon{width:16px;height:16px}.zs-dashboard-role-card div{min-width:0;flex:1}.zs-dashboard-role-card small{display:block;color:#898d91;font-size:8px}.zs-dashboard-role-card strong{display:block;margin-top:2px;color:#3c4045;font-size:10px}.zs-dashboard-role-card em{font-style:normal;color:#777b80;font-size:9px;font-weight:750}
.zs-dashboard-secondary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px}.zs-dashboard-project-list,.zs-dashboard-activity-list{margin:0 16px 16px;border:1px solid #e7e3dc;border-radius:12px;overflow:hidden;background:#fff}.zs-dashboard-project-row{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(120px,auto) auto;align-items:center;gap:10px;min-height:62px;padding:9px 11px;border-top:1px solid #eeebe5;background:#fff}.zs-dashboard-project-row:first-child{border-top:0}.zs-dashboard-project-row.is-selected{background:#fbf7ed}.zs-dashboard-project-row-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#f1eee8;color:#62676d}.zs-dashboard-project-row-icon .auth-icon{width:16px;height:16px}.zs-dashboard-project-row-copy{min-width:0}.zs-dashboard-project-row-copy small{display:block;color:#9a7127;font-size:8px;font-weight:850}.zs-dashboard-project-row-copy strong{display:block;overflow:hidden;margin:2px 0;color:#3b3f44;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.zs-dashboard-project-row-copy em{font-style:normal;color:#8a8e93;font-size:8px}.zs-dashboard-project-row-date{color:#96999d;font-size:8px;white-space:nowrap}.zs-dashboard-project-row button{min-height:31px;padding:0 10px;border:1px solid #d8d4cb;border-radius:8px;background:#fff;color:#585d63;font:inherit;font-size:8px;font-weight:850;cursor:pointer}.zs-dashboard-project-row button:hover{background:#f7f3e9;border-color:#ccb77f}.zs-dashboard-selected{display:inline-flex;align-items:center;gap:4px;padding:6px 8px;border-radius:999px;background:#eaf4ed;color:#447754;font-size:8px;font-weight:850;white-space:nowrap}.zs-dashboard-selected .auth-icon{width:12px;height:12px}
.zs-dashboard-activity-list article{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:61px;padding:10px 11px;border-top:1px solid #eeebe5}.zs-dashboard-activity-list article:first-child{border-top:0}.zs-dashboard-activity-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#f5f1e7;color:#936c27}.zs-dashboard-activity-icon .auth-icon{width:15px;height:15px}.zs-dashboard-activity-list strong{display:block;color:#42464b;font-size:10px}.zs-dashboard-activity-list small{display:block;margin-top:3px;color:#8d9196;font-size:8px}.zs-dashboard-activity-list time{color:#999ca0;font-size:8px;white-space:nowrap}.zs-dashboard-list-empty{display:flex;align-items:center;justify-content:center;gap:8px;min-height:110px;margin:0 16px 16px;border:1px dashed #e0ddd6;border-radius:12px;color:#8e9297;font-size:10px}.zs-dashboard-list-empty .auth-icon{width:17px;height:17px}
.zs-dashboard-module-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;padding:0 16px 16px}.zs-dashboard-module-card{display:flex;align-items:center;gap:9px;min-width:0;padding:12px;border:1px solid #e6e2da;border-radius:11px;background:#fff;color:inherit;text-decoration:none}.zs-dashboard-module-card:hover:not(.is-locked){border-color:#d6c59d;background:#fbf8f0}.zs-dashboard-module-card.is-locked{background:#fafafa;color:#8f9397}.zs-dashboard-module-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;border-radius:9px;background:#f3eee3;color:#8f6825}.zs-dashboard-module-icon .auth-icon{width:15px;height:15px}.zs-dashboard-module-card div{min-width:0;flex:1}.zs-dashboard-module-card strong{display:block;overflow:hidden;color:#45494f;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.zs-dashboard-module-card small{display:inline-block;margin-top:4px;padding:3px 5px;border-radius:999px;font-size:6px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.zs-dashboard-module-card small.is-manage{background:#e9f4ec;color:#356d46}.zs-dashboard-module-card small.is-contribute{background:#f6eedc;color:#8a6323}.zs-dashboard-module-card small.is-read{background:#edf1f5;color:#5b6672}.zs-dashboard-module-card small.is-none{background:#efefed;color:#989b9f}.zs-dashboard-module-tail{color:#a5a8ac}.zs-dashboard-module-tail .auth-icon{width:13px;height:13px}
.zs-dashboard-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.zs-dashboard-quick>a{display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:9px;padding:13px;border:1px solid #e5e1d9;border-radius:12px;background:#fff;color:inherit;text-decoration:none}.zs-dashboard-quick>a:hover{border-color:#d5c49c;background:#fbf8f0}.zs-dashboard-quick>a>span:first-child{display:grid;place-items:center;width:35px;height:35px;border-radius:9px;background:#f2eee5;color:#8c6727}.zs-dashboard-quick>a>span:first-child .auth-icon{width:16px;height:16px}.zs-dashboard-quick small{display:block;color:#8e9296;font-size:8px}.zs-dashboard-quick strong{display:block;overflow:hidden;margin-top:2px;color:#40444a;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.zs-dashboard-quick>a>.auth-icon{width:14px;height:14px;color:#9ba0a4}
@media(max-width:1180px){.zs-dashboard-context{align-items:stretch;flex-direction:column}.zs-dashboard-switchers{flex:1 1 auto;justify-content:flex-start}.zs-dashboard-switcher{flex:1}.zs-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.zs-dashboard-primary-grid,.zs-dashboard-secondary-grid{grid-template-columns:1fr}.zs-dashboard-module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.zs-dashboard-context{padding:16px}.zs-dashboard-context-copy h3{font-size:20px}.zs-dashboard-switchers{display:grid;grid-template-columns:1fr;width:100%}.zs-dashboard-switcher{min-width:0}.zs-dashboard-kpis{grid-template-columns:1fr 1fr;gap:8px}.zs-dashboard-kpis article{min-height:76px;padding:12px}.zs-dashboard-kpis strong{font-size:20px}.zs-dashboard-project-facts{grid-template-columns:1fr 1fr}.zs-dashboard-project-row{grid-template-columns:32px minmax(0,1fr) auto}.zs-dashboard-project-row-date{display:none}.zs-dashboard-activity-list article{grid-template-columns:34px minmax(0,1fr)}.zs-dashboard-activity-list time{grid-column:2}.zs-dashboard-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zs-dashboard-quick{grid-template-columns:1fr 1fr}.zs-dashboard-empty{align-items:flex-start;flex-wrap:wrap}.zs-dashboard-empty>a{margin-left:76px}}
@media(max-width:430px){.zs-dashboard-kpis{grid-template-columns:1fr}.zs-dashboard-project-facts{grid-template-columns:1fr}.zs-dashboard-module-grid,.zs-dashboard-quick{grid-template-columns:1fr}.zs-dashboard-project-row{grid-template-columns:30px minmax(0,1fr)}.zs-dashboard-project-row button,.zs-dashboard-selected{grid-column:2;justify-self:start}.zs-dashboard-empty>a{margin-left:0;width:100%;justify-content:center}.zs-dashboard-context-copy h3{font-size:18px}}
