:root{--gold-50:#fdf6e2;--gold-200:#f2cf72;--gold-400:#e0a726;--gold-500:#cf9414;--gold-600:#a8790f;--on-gold:#241a04;--graphite-950:#121215;--graphite-900:#1a1a1f;--graphite-800:#232329;--graphite-700:#2e2e36;--graphite-line:#ffffff14;--graphite-text:#f3f1ea;--graphite-text-muted:#a19d95;--primary:var(--gold-400);--primary-dark:var(--gold-600);--primary-light:var(--gold-50);--text:#1c1a16;--text-muted:#756c5c;--text-subtle:#a89e8c;--border:#e8e2d5;--border-strong:#d9cbaa;--border-soft:#efeadf;--surface:#fff;--surface-muted:#f7f4ec;--background:#faf8f2;--danger:#b3261e;--danger-background:#fbeae9;--warning:#c2410c;--warning-bg:#fdf0e6;--success:#15803d;--success-bg:#e9f6ee;--info:#2563eb;--info-bg:#eaf1fd;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:26px;--shadow-xs:0 1px 2px #1c1a160d;--shadow-sm:0 3px 8px #1c1a160f, 0 1px 2px #1c1a160d;--shadow-md:0 16px 34px #1c1a161a, 0 3px 8px #1c1a160d;--shadow-lg:0 30px 64px #1c1a162e, 0 10px 22px #1c1a1612;--shadow-gold:0 10px 24px #cf941447;--sidebar-width:260px;--topbar-height:60px}h1,h2{font-family:Manrope,Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.login-page{--primary:#4f46e5;--primary-dark:#4338ca;--primary-light:#eef2ff;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);min-height:100vh;display:grid}.login-page h1,.login-page h2{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.login-page .primary-button{color:#fff;background:var(--primary);box-shadow:var(--shadow-sm);border:1px solid #0000}.login-page .primary-button:hover:not(:disabled){background:var(--primary-dark);border-color:#0000}.login-brand{color:#fff;background:radial-gradient(circle at 80% 15%,#818cf859,#0000 38%),linear-gradient(160deg,#0f0f14 0%,#18181f 45%,#312e81 100%);flex-direction:column;justify-content:space-between;padding:64px;display:flex;position:relative;overflow:hidden}.login-brand:before,.login-brand:after{content:"";border:1px solid #ffffff1a;border-radius:50%;position:absolute}.login-brand:before{width:420px;height:420px;bottom:-100px;right:-210px}.login-brand:after{width:280px;height:280px;bottom:-30px;right:-115px}.brand-mark{z-index:1;width:fit-content;display:inline-flex;position:relative}.brand-mark img{filter:drop-shadow(0 4px 14px #00000059);width:auto;height:84px;display:block}.login-brand>div:last-child{z-index:1;max-width:650px;margin:auto 0;position:relative}.brand-company{color:#a5b4fc;letter-spacing:.14em;text-transform:uppercase;margin:0 0 22px;font-size:12px;font-weight:600}.login-brand h1{color:#fff;letter-spacing:-.03em;max-width:600px;margin:0;font-size:clamp(38px,4.6vw,60px);font-weight:600;line-height:1.08}.brand-description{color:#d4d4d8;max-width:540px;margin:26px 0 0;font-size:16px;line-height:1.7}.login-panel{background:var(--background);place-items:center;min-height:100vh;padding:48px;display:grid}.login-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:min(100%,420px);box-shadow:var(--shadow-lg);padding:40px}.login-heading{margin-bottom:30px}.eyebrow{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:600}.login-heading h2{color:var(--text);letter-spacing:-.02em;margin:0;font-size:28px;font-weight:600}.login-heading>p:last-child{color:var(--text-muted);margin:8px 0 0;line-height:1.6}.login-card form{flex-direction:column;display:flex}.login-card label{color:var(--text);margin:0 0 8px;font-size:13px;font-weight:600}.login-card input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:46px;color:var(--text);background:#fff;outline:none;margin-bottom:18px;padding:0 14px;transition:border-color .15s,box-shadow .15s}.login-card input::placeholder{color:var(--text-subtle)}.login-card input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e524}.primary-button,.secondary-button{border-radius:var(--radius-sm);white-space:nowrap;justify-content:center;align-items:center;padding:0 18px;font-size:14px;font-weight:600;transition:transform .12s,background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.primary-button{border:1px solid var(--gold-400);min-height:46px;color:var(--on-gold);background:var(--gold-400);box-shadow:var(--shadow-gold);margin-top:4px;transition:transform .12s,background-color .15s,border-color .15s,box-shadow .15s}.primary-button:hover:not(:disabled){border-color:var(--gold-500);background:var(--gold-500);transform:translateY(-1px)}.primary-button:active:not(:disabled){transform:translateY(1px)}.primary-button:disabled{opacity:.6}.secondary-button{border:1px solid var(--border);min-height:42px;color:var(--text);background:#fff;padding:0 16px}.secondary-button:hover{border-color:var(--border-strong);background:var(--surface-muted)}.form-error{border-radius:var(--radius-sm);color:var(--danger);background:var(--danger-background);border:1px solid #fecaca;margin:0 0 16px;padding:11px 14px;font-size:13px;line-height:1.5}.login-support{color:var(--text-muted);text-align:center;margin:26px 0 0;font-size:12px;line-height:1.6}.app-loading{min-height:100vh;color:var(--text-muted);background:var(--background);place-content:center;justify-items:center;display:grid}.loading-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:34px;height:34px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.portal-page{background:var(--background);min-height:100vh}.app-topbar{z-index:40;height:var(--topbar-height);background:var(--graphite-950);border-bottom:1px solid var(--graphite-line);align-items:center;gap:14px;padding:0 20px;display:flex;position:fixed;top:0;left:0;right:0}.app-topbar-toggle{border:1px solid var(--graphite-line);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--graphite-text-muted);background:0 0;flex-shrink:0;place-items:center;transition:background-color .14s,color .14s,border-color .14s;display:grid}.app-topbar-toggle:hover{color:var(--graphite-text);background:var(--graphite-800)}.app-topbar-toggle svg{width:17px;height:17px}.app-topbar-logo{width:auto;height:30px;display:block}.app-topbar-caption{border-left:1px solid var(--graphite-line);color:var(--graphite-text-muted);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;padding-left:14px;font-size:11px;font-weight:600}.app-topbar-notifications{margin-left:auto;position:relative}.app-topbar-bell{border:1px solid var(--graphite-line);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--graphite-text-muted);background:0 0;flex-shrink:0;place-items:center;transition:background-color .14s,color .14s;display:grid;position:relative}.app-topbar-bell:hover{color:var(--graphite-text);background:var(--graphite-800)}.app-topbar-bell svg{width:17px;height:17px}.app-topbar-bell-badge{background:var(--gold-400);min-width:16px;height:16px;color:var(--on-gold);border-radius:999px;place-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;display:grid;position:absolute;top:-4px;right:-4px}.notification-panel{z-index:50;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:340px;max-height:420px;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.notification-panel-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.notification-panel-header span{color:var(--text);font-size:13px;font-weight:650}.notification-panel-header button{color:var(--primary-dark);cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:600}.notification-empty{color:var(--text-subtle);text-align:center;padding:28px 16px;font-size:13px}.notification-list{margin:0;padding:6px;list-style:none;overflow-y:auto}.notification-item a,.notification-item button{border-radius:var(--radius-md);text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:10px;text-decoration:none;transition:background-color .12s;display:block}.notification-item a:hover,.notification-item button:hover{background:var(--surface-muted)}.notification-item strong{color:var(--text);font-size:12.5px;font-weight:650;display:block}.notification-item--unread strong:before{content:"";background:var(--gold-400);border-radius:999px;width:6px;height:6px;margin-right:6px;display:inline-block}.notification-item p{color:var(--text-muted);margin:3px 0 0;font-size:12px;line-height:1.5}.notification-item span{color:var(--text-subtle);margin-top:5px;font-size:10.5px;display:block}.app-sidebar-brand{border-bottom:1px solid var(--graphite-line);flex-direction:column;align-items:flex-start;gap:10px;padding:18px 16px;display:flex}.app-sidebar-logo{flex-shrink:0;width:auto;height:34px;display:block}.app-sidebar-brand-text{width:100%;min-width:0}.portal-page:has(.app-sidebar-brand){--topbar-height:0px}.app-sidebar{top:var(--topbar-height);z-index:30;width:var(--sidebar-width);height:calc(100vh - var(--topbar-height));background:radial-gradient(circle at 100% 0%, #e0a72614, transparent 45%), var(--graphite-950);flex-direction:column;transition:transform .26s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;left:0}@media (prefers-reduced-motion:reduce){.app-sidebar{transition:none}}body.app-sidebar-collapsed .app-sidebar{transform:translate(-100%)}.portal-product{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.app-sidebar-nav{flex-direction:column;flex:1;gap:3px;padding:16px 12px;display:flex;overflow-y:auto}.portal-nav-link{border-radius:var(--radius-sm);color:var(--graphite-text-muted);align-items:center;gap:12px;padding:9px 11px;font-size:13.5px;font-weight:500;text-decoration:none;transition:color .12s,background-color .12s;display:flex}.portal-nav-link svg{flex-shrink:0}.portal-nav-link:hover{color:var(--graphite-text)}.app-sidebar-nav-icon{background:var(--graphite-800);width:26px;height:26px;color:inherit;border-radius:8px;flex-shrink:0;place-items:center;transition:background-color .14s;display:grid}.portal-nav-link:hover .app-sidebar-nav-icon{background:var(--graphite-700)}.portal-nav-link-active{color:var(--graphite-text);font-weight:650}.portal-nav-link-active:hover{color:var(--graphite-text)}.portal-nav-link-active .app-sidebar-nav-icon{background:var(--gold-400);color:var(--on-gold);box-shadow:var(--shadow-gold)}.app-sidebar-footer{border-top:1px solid var(--graphite-line);margin-top:auto;padding:16px}.portal-user{align-items:center;gap:10px;padding:4px;display:flex}.portal-user>div{flex-direction:column;flex:1;min-width:0;display:flex}.portal-user strong{color:var(--graphite-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.portal-user span{color:var(--graphite-text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11.5px;overflow:hidden}.portal-user .secondary-button{border-color:var(--graphite-line);min-height:34px;color:var(--graphite-text);background:0 0;padding:0 12px;font-size:12.5px}.portal-user .secondary-button:hover{border-color:var(--graphite-line);background:var(--graphite-800)}.portal-content{width:min(1180px, calc(100% - var(--sidebar-width) - 48px));margin-top:var(--topbar-height);margin-left:calc(var(--sidebar-width) + 40px);padding:56px 0 72px;transition:margin-left .26s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){.portal-content{transition:none}}body.app-sidebar-collapsed .portal-content{width:min(1180px,100% - 48px);margin-left:40px}.portal-content h1{color:var(--text);letter-spacing:-.02em;margin:0;font-size:clamp(26px,3vw,32px);font-weight:600}.portal-content>p:last-child{color:var(--text-muted);margin:12px 0 0;font-size:15px}@media (width<=900px){.login-page{grid-template-columns:1fr}.login-brand{min-height:340px;padding:36px 26px}.login-brand h1{font-size:clamp(34px,9vw,48px)}.brand-description{margin-top:18px;font-size:15px}.login-panel{min-height:auto;padding:36px 20px}.login-card{padding:30px 24px}.app-topbar-caption{display:none}.app-sidebar{box-shadow:var(--shadow-lg)}.portal-content{width:min(100% - 32px,1180px);margin-left:40px;padding-top:40px}}.portal-title-row{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.portal-title-row h1{margin:0}.portal-subtitle{color:var(--text-muted);margin:12px 0 0;font-size:14.5px}.ticket-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:32px;display:grid}.summary-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:20px}.summary-card span{color:var(--text-muted);font-size:12.5px;font-weight:500;display:block}.summary-card strong{color:var(--text);margin-top:10px;font-size:28px;font-weight:600;line-height:1;display:block}.dashboard-section{margin-top:36px}.dashboard-section+.dashboard-section{margin-top:8px}.status-summary-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:14px;display:grid}.summary-card--accent{padding-left:24px;position:relative;overflow:hidden}.summary-card--accent:before{content:"";width:4px;position:absolute;inset:0 auto 0 0}.summary-card--accent-primary:before{background:var(--primary)}.summary-card--accent-info:before{background:var(--info)}.summary-card--accent-warning:before{background:var(--warning)}.summary-card--accent-danger:before{background:var(--danger)}.summary-card--accent-success:before{background:var(--success)}.summary-card--link{text-decoration:none;transition:transform .14s,box-shadow .14s;display:block}.summary-card--link:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.client-insights-grid{grid-template-columns:minmax(220px,1fr) minmax(280px,2fr);gap:14px;margin-top:14px;display:grid}@media (width<=720px){.client-insights-grid{grid-template-columns:1fr}}.client-ranking-card{flex-direction:column;display:flex}.client-ranking-card-title{color:var(--text-muted);font-size:12.5px;font-weight:500;display:block}.client-ranking-empty{color:var(--text-subtle);margin:14px 0 0;font-size:13px}.client-ranking-list{flex-direction:column;gap:2px;margin:14px 0 0;padding:0;list-style:none;display:flex}.client-ranking-item{border-top:1px solid var(--border-soft);align-items:center;gap:12px;padding:9px 0;display:flex}.client-ranking-item:first-child{border-top:none}.client-ranking-position{background:var(--surface-muted);width:22px;height:22px;color:var(--text-muted);border-radius:999px;flex-shrink:0;place-items:center;font-size:11.5px;font-weight:700;display:grid}.client-ranking-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13.5px;font-weight:500;overflow:hidden}.client-ranking-count{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12.5px;font-weight:600}.trend-chart-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:14px;display:grid}.trend-chart-card{flex-direction:column;gap:14px;display:flex}.trend-chart{flex-direction:column;gap:10px;display:flex}.trend-chart-svg{width:100%;height:96px;display:block}.trend-chart-footer{color:var(--text-subtle);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:8px;font-size:11.5px;display:flex}.trend-chart-current{color:var(--text);font-size:15px;font-weight:700}.trend-chart-empty{border:1px dashed var(--border);border-radius:var(--radius-md);height:96px;color:var(--text-subtle);text-align:center;justify-content:center;align-items:center;font-size:12.5px;display:flex}.ticket-toolbar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:minmax(0,1fr) 220px;gap:14px;margin-top:24px;padding:16px;display:grid}.ticket-search,.ticket-filter{flex-direction:column;gap:7px;display:flex}.ticket-toolbar label{color:var(--text);font-size:12.5px;font-weight:600}.ticket-toolbar input,.ticket-toolbar select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:42px;color:var(--text);background:#fff;outline:none;padding:0 13px}.ticket-toolbar input:focus,.ticket-toolbar select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #cf94141f}.ticket-list{flex-direction:column;gap:12px;margin-top:20px;display:flex}.ticket-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);justify-content:space-between;gap:24px;padding:22px 22px 22px 26px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.ticket-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.ticket-card--priority-urgent:before,.ticket-card--priority-high:before,.ticket-card--priority-medium:before,.ticket-card--priority-low:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.ticket-card--priority-urgent:before,.ticket-card--priority-high:before{background:var(--warning)}.ticket-card--priority-medium:before{background:var(--gold-400)}.ticket-card--priority-low:before{background:var(--success)}.ticket-card-main{min-width:0}.ticket-card-heading{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ticket-number{color:var(--text-muted);font-size:12.5px;font-weight:600}.ticket-status,.ticket-priority,.ticket-category,.sla-badge,.client-status,.role-badge,.contract-status{border-radius:var(--radius-sm);letter-spacing:.01em;width:fit-content;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.ticket-category{color:#3538cd;background:#eef4ff}.sla-badge--ok{color:#067647;background:#ecfdf3}.sla-badge--risk{color:#b54708;background:#fffaeb}.sla-badge--breached{color:#b42318;background:#fef3f2}.sla-badge--met{color:#067647;background:#ecfdf3}.sla-badge--na{color:#475467;background:#f2f4f7}.ticket-status{color:#175cd3;background:#eff8ff}.ticket-status--in-progress,.ticket-status--pending,.ticket-status--opseg-pending{color:#b54708;background:#fffaeb}.ticket-status--waiting-customer,.ticket-status--customer-pending{color:#6941c6;background:#f4f3ff}.ticket-status--resolved,.ticket-status--closed{color:#067647;background:#ecfdf3}.ticket-status--cancelled{color:#b42318;background:#fef3f2}.ticket-status--waiting-parts{color:#6941c6;background:#f4f3ff}.ticket-status--completed{color:#067647;background:#ecfdf3}.ticket-card h2{color:var(--text);margin:12px 0 0;font-size:17px;font-weight:600}.ticket-description{max-width:780px;color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.ticket-metadata{color:var(--text-muted);flex-wrap:wrap;gap:8px 22px;margin-top:16px;font-size:12.5px;display:flex}.ticket-metadata strong{color:var(--text);font-weight:600}.ticket-card-side{justify-content:flex-end;align-items:flex-start;min-width:150px;display:flex}.ticket-priority{color:#475467;background:#f2f4f7}.ticket-priority--high,.ticket-priority--urgent{color:#b42318;background:#fef3f2}.ticket-priority--medium{color:#b54708;background:#fffaeb}.ticket-priority--critical{color:#fff;background:#b42318}.portal-state-card{border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;background:var(--surface);place-content:center;justify-items:center;min-height:240px;margin-top:20px;padding:36px;display:grid}.portal-state-card h2{color:var(--text);margin:0;font-size:17px;font-weight:600}.portal-state-card p{max-width:460px;color:var(--text-muted);margin:10px 0 0;font-size:14px}.error-state{border-color:#fecaca}.state-button{min-width:170px;margin-top:20px;padding:0 18px}@media (width<=900px){.ticket-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.portal-title-row{flex-direction:column;align-items:stretch}.ticket-summary-grid,.ticket-toolbar{grid-template-columns:1fr}.ticket-card{flex-direction:column}.ticket-card-side{justify-content:flex-start;min-width:0}}.ticket-card-side{flex-direction:column;gap:16px}.ticket-open-link,.back-link{color:var(--primary);font-size:13.5px;font-weight:600;text-decoration:none}.ticket-open-link{font-size:13px}.ticket-open-link:hover,.back-link:hover{text-decoration:underline}.back-link{margin-bottom:28px;font-size:13.5px;display:inline-flex}.ticket-detail-heading{justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.ticket-detail-heading h1{margin:0}.ticket-detail-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.ticket-rat-button{border:1px solid var(--gold-400);border-radius:var(--radius-sm);width:fit-content;color:var(--on-gold);background:var(--gold-400);letter-spacing:.01em;white-space:nowrap;cursor:pointer;align-items:center;gap:6px;padding:5px 12px 5px 10px;font-size:11px;font-weight:600;transition:transform .12s,background-color .15s,box-shadow .15s;display:inline-flex}.ticket-rat-button:hover:not(:disabled){background:var(--gold-500);box-shadow:var(--shadow-gold)}.ticket-rat-button:disabled{opacity:.6;cursor:not-allowed}.ticket-rat-error{color:var(--danger);text-align:right;margin:10px 0 0;font-size:13px}.ticket-detail-grid{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:20px;margin-top:30px;display:grid}.ticket-detail-card,.ticket-information-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:24px}.ticket-detail-card h2,.ticket-information-card h2{color:var(--text);margin:0;font-size:16px;font-weight:600}.ticket-full-description{color:var(--text-muted);white-space:pre-wrap;margin:18px 0 0;line-height:1.75}.ticket-information-card dl{grid-template-columns:1fr 1fr;gap:0 20px;margin:18px 0 0;display:grid}.ticket-information-card dl>div{border-bottom:1px solid var(--surface-muted);flex-direction:column;gap:4px;padding:10px 0;display:flex}.ticket-information-card dl>div:nth-last-child(-n+2){border-bottom:0}.ticket-information-card dt{color:var(--text-muted);font-size:12px}.ticket-information-card dd{color:var(--text);text-align:left;margin:0;font-size:12.5px;font-weight:600}@media (width<=480px){.ticket-information-card dl{grid-template-columns:1fr}.ticket-information-card dl>div:nth-last-child(-n+2){border-bottom:1px solid var(--surface-muted)}.ticket-information-card dl>div:last-child{border-bottom:0}}.state-link{justify-content:center;align-items:center;min-height:46px;margin-top:20px;padding:0 20px;text-decoration:none;display:inline-flex}@media (width<=760px){.ticket-detail-heading{flex-direction:column}.ticket-detail-badges{justify-content:flex-start}.ticket-detail-grid{grid-template-columns:1fr}}.ticket-detail-tabs{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);scrollbar-width:thin;gap:4px;margin-top:26px;padding:5px;display:flex;overflow-x:auto}.ticket-detail-tab{border-radius:var(--radius-sm);min-height:40px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:8px 15px;font-size:13.5px;font-weight:600;transition:color .15s,background-color .15s}.ticket-detail-tab:hover{color:var(--text);background:var(--surface-muted)}.ticket-detail-tab:focus-visible{outline:3px solid var(--primary-light);outline-offset:2px}.ticket-detail-tab-active,.ticket-detail-tab-active:hover{color:var(--on-gold);background:var(--primary)}.ticket-detail-tab-panel{margin-top:18px}.ticket-section-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.ticket-section-header span{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px;font-size:11.5px;font-weight:600;display:block}.ticket-section-header h2{color:var(--text);margin:0;font-size:19px;font-weight:600}.ticket-section-state{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-muted);text-align:center;padding:30px 22px;font-size:14px}.ticket-section-state-error{color:#9f1239;background:#fff5f5;border-color:#fca5a5}.ticket-history{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:22px}.ticket-history-item{grid-template-columns:20px minmax(0,1fr);gap:14px;padding-bottom:24px;display:grid;position:relative}.ticket-history-item:last-child{padding-bottom:0}.ticket-history-item:not(:last-child):before{background:var(--border);content:"";width:2px;position:absolute;top:13px;bottom:-1px;left:5px}.ticket-history-marker{z-index:1;border:3px solid var(--primary-light);background:var(--primary);box-sizing:border-box;border-radius:50%;width:12px;height:12px;margin-top:3px;position:relative}.ticket-history-content{flex-direction:column;gap:4px;min-width:0;display:flex}.ticket-history-content strong{color:var(--text);font-size:13.5px;font-weight:600;line-height:1.5}.ticket-history-content time{color:var(--text-muted);font-size:12px}.ticket-comments{flex-direction:column;gap:12px;display:flex}.ticket-comment{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:38px minmax(0,1fr);gap:14px;padding:18px;display:grid}.ticket-comment-avatar{background:var(--primary-light);width:38px;height:38px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:flex}.ticket-comment-content{min-width:0}.ticket-comment-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.ticket-comment-header strong{color:var(--text);font-size:13.5px;font-weight:600}.ticket-comment-header time{color:var(--text-muted);flex-shrink:0;font-size:12px}.ticket-comment-content p{color:var(--text);overflow-wrap:anywhere;white-space:pre-wrap;margin:8px 0 0;font-size:13.5px;line-height:1.65}.ticket-comment-edited{color:var(--text-muted);margin-top:8px;font-size:11px;font-style:italic;display:inline-block}.ticket-comment-form{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:14px;margin-bottom:16px;padding:18px;display:flex}.ticket-comment-form textarea{min-height:92px}.ticket-comment-form-actions{justify-content:flex-end;align-items:center;display:flex}.ticket-comment-form-actions .primary-button{min-width:150px;min-height:40px}.ticket-checklist{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:20px}.ticket-checklist-summary{justify-content:space-between;align-items:center;gap:16px;display:flex}.ticket-checklist-summary>div{flex-direction:column;gap:4px;min-width:0;display:flex}.ticket-checklist-summary strong{color:var(--text)}.ticket-checklist-summary>strong{color:var(--text);font-size:18px;font-weight:600}.ticket-checklist-summary span{color:var(--text-muted);font-size:12.5px}.ticket-checklist-progress{background:var(--surface-muted);border-radius:999px;height:7px;margin:14px 0 20px;overflow:hidden}.ticket-checklist-progress>div{border-radius:inherit;background:var(--primary);height:100%;transition:width .25s}.ticket-checklist-items{flex-direction:column;gap:9px;display:flex}.ticket-checklist-item{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;grid-template-columns:26px minmax(0,1fr);gap:12px;padding:14px;display:grid}.ticket-checklist-item-completed{background:#f6fcf8;border-color:#bbf7d0}.ticket-checklist-indicator{border:2px solid var(--border-strong);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:700;display:flex}.ticket-checklist-item-completed .ticket-checklist-indicator{background:#16a34a;border-color:#16a34a}.ticket-checklist-content{flex-direction:column;gap:5px;min-width:0;display:flex}.ticket-checklist-heading{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.ticket-checklist-heading strong{color:var(--text);font-size:13.5px;font-weight:600;line-height:1.45}.ticket-checklist-content>span{color:var(--text-muted);font-size:12px}.ticket-required-badge{color:#92400e;letter-spacing:.03em;text-transform:uppercase;background:#fef3c7;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700}.ticket-attachments{flex-direction:column;gap:10px;display:flex}.ticket-attachment{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;transition:border-color .15s,box-shadow .15s;display:grid}.ticket-attachment:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.ticket-attachment-icon{border-radius:var(--radius-sm);background:var(--primary-light);width:42px;height:42px;color:var(--primary);justify-content:center;align-items:center;font-size:19px;font-weight:700;display:flex}.ticket-attachment-content{flex-direction:column;gap:4px;min-width:0;display:flex}.ticket-attachment-content strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.ticket-attachment-content span{color:var(--text-muted);font-size:12px}.ticket-attachment-content p{color:var(--text-muted);margin:2px 0 0;font-size:12.5px;line-height:1.5}.ticket-download-button{border:1px solid var(--primary);border-radius:var(--radius-sm);min-width:88px;min-height:38px;color:var(--primary);font:inherit;cursor:pointer;background:0 0;padding:8px 14px;font-size:12.5px;font-weight:600;transition:color .15s,background-color .15s,opacity .15s}.ticket-download-button:hover:not(:disabled){color:var(--on-gold);background:var(--primary)}.ticket-download-button:focus-visible{outline:3px solid var(--primary-light);outline-offset:2px}.ticket-download-button:disabled{cursor:wait;opacity:.6}.ticket-attachment-form{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:14px;margin-bottom:16px;padding:18px;display:flex}.ticket-attachment-form input[type=file]{width:100%;color:var(--text);font:inherit;padding:10px 0}.ticket-attachment-form-actions{justify-content:flex-end;align-items:center;display:flex}.ticket-attachment-form-actions .primary-button{min-width:150px;min-height:40px}@media (width<=720px){.ticket-detail-tabs{margin-top:20px}.ticket-detail-tab{padding-left:12px;padding-right:12px}.ticket-history,.ticket-checklist{padding:16px}.ticket-comment{grid-template-columns:34px minmax(0,1fr);padding:15px}.ticket-comment-avatar{width:34px;height:34px;font-size:11px}.ticket-comment-header{flex-direction:column;align-items:flex-start;gap:3px}.ticket-attachment{grid-template-columns:38px minmax(0,1fr)}.ticket-attachment-icon{width:38px;height:38px}.ticket-download-button{grid-column:1/-1;width:100%}}@media (width<=480px){.ticket-detail-tabs{margin-left:-4px;margin-right:-4px}.ticket-detail-tab{font-size:12.5px}.ticket-section-header h2{font-size:18px}.ticket-checklist-summary{align-items:flex-start}}.portal-title-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.portal-title-actions .primary-button,.portal-title-actions .secondary-button{min-height:42px;text-decoration:none}.rat-bulk-download{align-items:center;gap:8px;display:flex}.rat-bulk-download select{border:1px solid var(--border);border-radius:var(--radius-sm);height:42px;color:var(--text);background:#fff;padding:0 12px;font-size:13.5px;font-weight:600}.rat-bulk-download select:focus{border-color:var(--primary);outline:none}.portal-title-actions .primary-button{border:1px solid var(--border);color:var(--text);box-shadow:none;background:#fff}.portal-title-actions .primary-button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-muted)}.create-ticket-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;margin-top:26px;display:grid}.create-ticket-main{min-width:0}.create-ticket-heading{margin-bottom:22px}.create-ticket-heading h1{margin-top:0;margin-bottom:8px}.create-ticket-form{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:22px;padding:26px;display:flex}.form-field{flex-direction:column;gap:8px;display:flex}.form-field label,.priority-fieldset legend{color:var(--text);font-size:13.5px;font-weight:600}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;background:#fff;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-field input,.form-field select{min-height:44px;padding:0 13px}.form-field textarea{resize:vertical;min-height:140px;padding:12px 13px;line-height:1.6}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--text-subtle)}.form-field input:hover:not(:disabled),.form-field textarea:hover:not(:disabled),.form-field select:hover:not(:disabled){border-color:var(--border-strong)}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #cf941424}.form-field input:disabled,.form-field textarea:disabled,.form-field select:disabled{cursor:not-allowed;background:var(--surface-muted);opacity:.75}.form-field-hint{color:var(--text-muted);font-size:12px;line-height:1.5}.optional-label{color:var(--text-muted);margin-left:8px;font-size:11px;font-weight:500}.priority-fieldset{border:0;min-width:0;margin:0;padding:0}.priority-fieldset legend{margin-bottom:10px}.priority-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.priority-option{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:#fff;align-items:flex-start;gap:10px;min-width:0;padding:14px;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex}.priority-option:hover{border-color:var(--border-strong);background:var(--surface-muted)}.priority-option--selected{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 1px var(--primary)}.priority-option input{width:16px;height:16px;accent-color:var(--primary);margin:2px 0 0}.priority-option-content{flex-direction:column;gap:4px;min-width:0;display:flex}.priority-option-content strong{color:var(--text);font-size:13.5px;font-weight:600}.ticket-team-checklist{flex-wrap:wrap;gap:8px;display:flex}.ticket-team-empty{color:var(--text-muted);margin:0;font-size:13px}.ticket-team-option{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text);background:#fff;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:border-color .15s,background-color .15s;display:flex}.ticket-team-option:hover{border-color:var(--border-strong);background:var(--surface-muted)}.ticket-team-option input{width:15px;height:15px;accent-color:var(--primary)}.priority-option-content span{color:var(--text-muted);font-size:12px;line-height:1.45}.form-message{border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:13px 15px;font-size:13px;line-height:1.5;display:flex}.form-message--error{color:#9f1239;background:#fff5f5;border:1px solid #fca5a5}.create-ticket-actions{justify-content:flex-end;align-items:center;gap:12px;padding-top:4px;display:flex}.create-ticket-actions .primary-button,.create-ticket-actions .secondary-button{min-width:134px;min-height:42px;text-decoration:none}.create-ticket-actions a[aria-disabled=true]{pointer-events:none;opacity:.6}.create-ticket-help{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--primary-light);padding:22px}.create-ticket-help h2{color:var(--text);margin:0 0 14px;font-size:16px;font-weight:600}.create-ticket-help ul{color:var(--text-muted);flex-direction:column;gap:10px;margin:0;padding-left:18px;font-size:13px;line-height:1.55;display:flex}.create-ticket-help p{color:var(--text-muted);border-top:1px solid #cf941424;margin:18px 0 0;padding-top:16px;font-size:13px;line-height:1.55}@media (width<=900px){.create-ticket-layout{grid-template-columns:1fr}.create-ticket-help{order:2}}@media (width<=720px){.portal-title-actions{width:100%}.portal-title-actions .primary-button,.portal-title-actions .secondary-button{flex:1}.rat-bulk-download{width:100%}.rat-bulk-download select{flex:1}.create-ticket-layout{margin-top:20px}.create-ticket-form{padding:18px}.priority-option-grid{grid-template-columns:1fr}}@media (width<=480px){.portal-title-actions{flex-direction:column-reverse;align-items:stretch}.portal-title-actions .primary-button,.portal-title-actions .secondary-button{width:100%}.create-ticket-form{border-radius:var(--radius-lg);gap:18px;padding:16px}.create-ticket-actions{flex-direction:column-reverse;align-items:stretch}.create-ticket-actions .primary-button,.create-ticket-actions .secondary-button{width:100%}.create-ticket-help{padding:18px}}.form-field-error{color:var(--danger);font-size:12px;font-weight:600;line-height:1.4}.form-field input[aria-invalid=true]{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261f}.form-message--success{color:#067647;background:#ecfdf3;border:1px solid #a6e9c6}.client-status{color:#067647;background:#ecfdf3}.client-status--inactive,.client-status--archived{color:#475467;background:#f2f4f7}.contract-status--active{color:#067647;background:#ecfdf3}.contract-status--expiring{color:#b54708;background:#fffaeb}.contract-status--expired,.contract-status--cancelled{color:#b42318;background:#fef3f2}.role-badge{color:#3538cd;background:#eef4ff}.role-badge--admin{color:#b42318;background:#fef3f2}.role-badge--manager{color:#b54708;background:#fffaeb}.role-badge--technician{color:#175cd3;background:#eff8ff}.role-badge--customer{color:#6941c6;background:#f4f3ff}.staff-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-home-card{border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;background:var(--surface);flex-direction:column;padding:24px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.staff-home-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.staff-home-card h2{color:var(--text);margin:10px 0 0;font-size:19px;font-weight:600}.staff-home-card p{color:var(--text-muted);margin:10px 0 0;font-size:14px;line-height:1.6}.staff-form-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);flex-direction:column;gap:20px;margin-top:26px;padding:28px;display:flex}.staff-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.staff-access-card{margin-top:22px}.staff-access-empty{color:var(--text-muted);margin:0;font-size:14px}.staff-access-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.staff-access-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);justify-content:space-between;align-items:center;gap:16px;padding:13px 16px;display:flex}.staff-access-item strong{color:var(--text);font-size:13.5px;font-weight:600;display:block}.staff-access-item span{color:var(--text-muted);margin-top:3px;font-size:12.5px;display:block}.staff-link-form{border-top:1px solid var(--border);align-items:flex-end;gap:16px;padding-top:6px;display:flex}.staff-link-form .form-field{flex:1}.staff-link-form .secondary-button{min-height:50px}.staff-users-shortcut{margin-top:22px}@media (width<=720px){.staff-form-grid,.staff-home-grid{grid-template-columns:1fr}.staff-link-form{flex-direction:column;align-items:stretch}}.agenda-toolbar{flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px;display:flex}.agenda-toolbar-nav{align-items:center;gap:8px;display:flex}.agenda-nav-button{border:1px solid var(--border);border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-muted);background:var(--surface);cursor:pointer;justify-content:center;align-items:center;font-size:17px;line-height:1;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.agenda-nav-button:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface-muted)}.agenda-today-button{min-height:34px;padding:0 14px;font-size:13px}.agenda-period-title{color:var(--text);text-transform:capitalize;margin:0 auto 0 0;font-size:17px;font-weight:600}.calendar-view-switch{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);gap:6px;padding:4px;display:flex}.calendar-view-switch .secondary-button{background:0 0;border:none;min-height:34px;padding:6px 14px}.calendar-view-switch-active{color:var(--on-gold)!important;background:var(--primary)!important}.agenda-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:22px;margin-top:18px;display:grid}.agenda-sidebar{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);flex-direction:column;gap:22px;padding:18px;display:flex;position:sticky;top:24px}.agenda-mini-cal-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.agenda-mini-cal-title{color:var(--text);text-transform:capitalize;font-size:12.5px;font-weight:700}.agenda-mini-cal-nav{gap:2px;display:flex}.agenda-mini-nav-button{width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.agenda-mini-nav-button:hover{color:var(--text);background:var(--surface-muted)}.agenda-mini-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.agenda-mini-dow{color:var(--text-subtle);text-align:center;text-transform:uppercase;padding-bottom:4px;font-size:10px;font-weight:700}.agenda-mini-day{aspect-ratio:1;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;font-size:11.5px;display:flex;position:relative}.agenda-mini-day:hover{background:var(--surface-muted)}.agenda-mini-day--other{color:var(--text-subtle)}.agenda-mini-day--today{color:var(--on-gold);background:var(--primary);font-weight:700}.agenda-mini-day--selected:not(.agenda-mini-day--today){box-shadow:inset 0 0 0 1.5px var(--primary);font-weight:700}.agenda-mini-dot{background:var(--primary);border-radius:999px;width:3.5px;height:3.5px;position:absolute;bottom:3px}.agenda-mini-day--today .agenda-mini-dot{background:#fff}.agenda-filter-group{flex-direction:column;gap:8px;display:flex}.agenda-filter-title{color:var(--text-subtle);letter-spacing:.04em;text-transform:uppercase;margin:0 0 2px;font-size:10.5px;font-weight:700}.agenda-filter-row{color:var(--text);cursor:pointer;align-items:center;gap:9px;font-size:13px;display:flex}.agenda-filter-row input{width:14px;height:14px}.agenda-filter-label--off{color:var(--text-subtle);text-decoration:line-through;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.source-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px;display:inline-block}.source-swatch--order{background:#b54708}.source-swatch--ticket{background:#175cd3}.source-swatch--maintenance{background:#0e7490}.source-swatch--event{background:var(--primary)}.agenda-team-row{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:9px;padding:4px 6px;font-size:12.5px;display:flex}.agenda-team-row:hover{background:var(--surface-muted)}.agenda-team-row--hidden{opacity:.45}.agenda-team-avatar{color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:700;display:inline-flex}.agenda-main{min-width:0}.calendar-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);padding:24px}.calendar-weekday-row{grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:8px;display:grid}.calendar-weekday-row span{color:var(--text-muted);text-align:center;text-transform:uppercase;padding:6px 4px;font-size:12px;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-day{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);text-align:left;cursor:pointer;flex-direction:column;gap:6px;min-height:92px;padding:8px;transition:border-color .15s,box-shadow .15s;display:flex}.calendar-day:hover{border-color:var(--border-strong)}.calendar-day--muted{background:var(--background);color:var(--text-subtle)}.calendar-day--muted .calendar-day-number{color:var(--text-subtle)}.calendar-day--today .calendar-day-number{min-width:22px;height:22px;color:var(--on-gold);background:var(--primary);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.calendar-day--selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.calendar-day-number{color:var(--text);font-size:13px;font-weight:600}.calendar-day-items{flex-direction:column;gap:3px;display:flex}.calendar-day-chip{border-left:2.5px solid var(--primary);color:var(--primary-dark);background:var(--primary-light);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:baseline;gap:4px;padding:2px 6px;font-size:10.5px;font-weight:500;display:flex;overflow:hidden}.calendar-day-chip-time{font-variant-numeric:tabular-nums;opacity:.8;flex-shrink:0;font-weight:700}.calendar-day-chip-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calendar-day-chip--ticket{color:#175cd3;background:#eff8ff;border-left-color:#175cd3}.calendar-day-chip--order{color:#b54708;background:#fffaeb;border-left-color:#b54708}.calendar-day-chip--maintenance{color:#0e7490;background:#ecfeff;border-left-color:#0e7490}.calendar-day-more{color:var(--text-muted);font-size:10.5px;font-weight:600}.agenda-week-card{padding:16px 24px 24px}.agenda-week-head,.agenda-week-allday{display:grid}.agenda-week-day-head{border:none;border-left:1px solid var(--border);cursor:pointer;background:0 0;flex-direction:column;align-items:center;gap:2px;padding:4px 4px 10px;display:flex}.agenda-week-day-dow{color:var(--text-subtle);letter-spacing:.04em;text-transform:uppercase;font-size:10.5px;font-weight:700}.agenda-week-day-number{width:28px;height:28px;color:var(--text);border-radius:999px;justify-content:center;align-items:center;font-family:inherit;font-size:15px;font-weight:700;display:inline-flex}.agenda-week-day-number--today{color:var(--on-gold);background:var(--primary)}.agenda-week-allday{border-top:1px solid var(--border);border-bottom:1px solid var(--border-strong);min-height:26px}.agenda-week-allday-cell{border-left:1px solid var(--border);flex-direction:column;gap:2px;padding:3px;display:flex}.agenda-week-body{display:flex;overflow-x:auto}.agenda-week-gutter{flex-shrink:0;width:52px}.agenda-week-gutter-label{color:var(--text-subtle);font-variant-numeric:tabular-nums;text-align:right;padding-right:8px;font-size:11px;position:relative;transform:translateY(-6px)}.agenda-week-columns{flex:1;grid-template-columns:repeat(7,minmax(96px,1fr));min-width:640px;display:grid}.agenda-week-column{border:none;border-left:1px solid var(--border);background-image:repeating-linear-gradient(to bottom, transparent 0, transparent 47px, var(--border) 48px);cursor:pointer;position:relative}.agenda-week-column--today{background-color:var(--primary-light)}.agenda-week-event{border-left:3px solid var(--primary);background:var(--primary-light);color:var(--primary-dark);text-align:left;box-shadow:var(--shadow-sm);border-radius:6px;flex-direction:column;padding:3px 6px;font-size:11px;line-height:1.25;display:flex;position:absolute;left:3px;right:3px;overflow:hidden}.agenda-week-event-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.agenda-week-event-time{color:var(--text-muted);font-variant-numeric:tabular-nums}.agenda-week-event--ticket{background:#eff8ff;border-left-color:#175cd3}.agenda-week-event--order{background:#fffaeb;border-left-color:#b54708}.agenda-week-event--maintenance{background:#ecfeff;border-left-color:#0e7490}.calendar-day-panel{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);margin-top:22px;padding:24px}.calendar-day-panel-heading{flex-direction:column;gap:10px;display:flex}.calendar-day-nav{flex-wrap:wrap;gap:8px;display:flex}.calendar-day-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.calendar-day-panel-header h2{color:var(--text);text-transform:capitalize;margin:0;font-size:16px;font-weight:600}.calendar-empty-day{color:var(--text-muted);margin:0;font-size:14px}.calendar-day-list{flex-direction:column;gap:14px;display:flex}.calendar-item-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.calendar-item-main{min-width:0}.calendar-item-heading{align-items:center;gap:10px;margin-bottom:6px;display:flex}.calendar-item-main h3{color:var(--text);margin:0;font-size:14.5px;font-weight:600}.calendar-item-title-link{color:var(--primary);font-size:14.5px;font-weight:600;text-decoration:none;display:inline-block}.calendar-item-title-link:hover{text-decoration:underline}.calendar-type-badge{color:var(--primary-dark);background:var(--primary-light);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.calendar-type-badge--meeting{color:#6941c6;background:#f4f3ff}.calendar-type-badge--alert{color:#b42318;background:#fef3f2}.calendar-type-badge--other{color:var(--text-muted);background:var(--surface-muted)}.calendar-item-time{color:var(--text-muted);font-size:12.5px;font-weight:600}.calendar-item-description{color:var(--text-muted);margin:6px 0 0;font-size:13px;line-height:1.55}.calendar-item-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:12.5px;display:flex}.calendar-item-meta strong{color:var(--text);font-weight:600}.calendar-item-actions{flex-shrink:0;gap:8px;display:flex}.danger-link-button{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.danger-link-button:hover{text-decoration:underline}.calendar-form-card{margin-top:22px}.calendar-form-header{justify-content:space-between;align-items:center;display:flex}.calendar-form-header h2{color:var(--text);margin:0;font-size:17px;font-weight:600}.calendar-form-checkbox label{color:var(--text);align-items:center;gap:8px;font-size:13.5px;font-weight:500;display:flex}.calendar-form-checkbox input[type=checkbox]{width:16px;height:16px}.calendar-participants-list{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;flex-direction:column;gap:2px;max-height:180px;padding:6px;display:flex;overflow-y:auto}.calendar-participant-row{border-radius:var(--radius-sm);color:var(--text);cursor:pointer;align-items:center;gap:8px;padding:7px 8px;font-size:13.5px;font-weight:500;transition:background-color .15s;display:flex}.calendar-participant-row:hover{background:var(--surface-muted)}.calendar-participant-row input[type=checkbox]{flex-shrink:0;width:16px;height:16px}.calendar-participants-empty{color:var(--text-muted);margin:0;padding:8px;font-size:13px}@media (width<=980px){.agenda-layout{grid-template-columns:1fr}.agenda-sidebar{flex-flow:wrap;gap:24px;position:static}.agenda-mini-cal{min-width:220px}}@media (width<=860px){.calendar-grid{gap:4px}.calendar-day{min-height:72px;padding:6px}.calendar-day-chip,.calendar-day-more{display:none}}@media (width<=640px){.agenda-toolbar{text-align:center;flex-wrap:wrap;justify-content:center}.agenda-period-title{text-align:center;order:-1;width:100%;margin-right:0}.agenda-sidebar,.calendar-item-card{flex-direction:column}.calendar-item-actions{align-self:flex-end}}.pmoc-items-section{border-top:1px solid var(--border);flex-direction:column;gap:18px;padding-top:6px;display:flex}.pmoc-item-block{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--background);flex-direction:column;gap:16px;padding:20px;display:flex}.pmoc-item-block-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.pmoc-item-block-header h3{color:var(--text);margin:0;font-size:15px;font-weight:600}.pmoc-activities-list{border-top:1px dashed var(--border);flex-direction:column;gap:14px;padding-top:6px;display:flex}.pmoc-activity-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:8px;padding:14px;display:flex}.pmoc-activity-summary-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pmoc-activity-summary-list li{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);color:var(--text);padding:10px 12px;font-size:13.5px;line-height:1.6}@media (width<=720px){.pmoc-item-block-header{flex-direction:column;align-items:flex-start}}:root{color:#18181b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fafafa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#fafafa;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed}a{color:inherit}#root{min-height:100vh}::selection{color:#1e1b4b;background:#e0e7ff}
