:root{--primary:#172033;--secondary:#0b74de;--secondary-hover:#095fb8;--accent:#16a085;--success:#10b981;--danger:#dc2626;--bg:#f7f9fc;--surface:#fff;--surface-muted:#eef3f8;--border:#dce3ec;--text-primary:#111827;--text-secondary:#5f6b7a;--radius:8px;--shadow-xs:0 1px 2px rgba(23,32,51,.06);--shadow-sm:0 8px 22px rgba(23,32,51,.08);--shadow-md:0 18px 42px rgba(23,32,51,.12);--max-width:1180px}@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap");*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Inter,-apple-system,system-ui,Segoe UI,Roboto,sans-serif;color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:16px;top:16px;width:auto;height:auto;background:#fff;padding:8px 14px;border-radius:8px;box-shadow:var(--shadow-md);z-index:9999}:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:hsla(0,0%,100%,.94);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-inner{max-width:var(--max-width);margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand .logo{font-size:18px;font-weight:800;color:var(--primary);line-height:1.15}.nav{flex:1 1;justify-content:flex-end}.nav,.nav-links{display:flex;align-items:center}.nav-links{list-style:none;margin:0;padding:0;gap:6px}.nav-links li{display:flex;align-items:center;gap:8px}.nav-links a{display:block;padding:8px 14px;color:var(--text-secondary);font-weight:600;border-radius:8px;transition:all .2s}.nav-links a:hover{color:var(--primary);background:var(--surface-muted)}.auth-section{padding-left:12px;border-left:1px solid var(--border)}.user-label{font-size:14px;font-weight:600;color:var(--text-primary)}.account-menu-wrap{position:relative}.account-trigger{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:#fff;color:var(--primary);border-radius:8px;padding:8px 12px;font:inherit;font-weight:800;cursor:pointer}.account-trigger:hover{background:var(--surface-muted)}.account-trigger span{font-size:11px;color:var(--text-secondary)}.account-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:620;min-width:210px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:8px;box-shadow:var(--shadow-md)}.account-menu a,.account-menu button{display:block;width:100%;border:0;background:transparent;color:var(--primary);border-radius:8px;padding:10px 12px;text-align:left;font:inherit;font-weight:800;cursor:pointer}.account-menu a:hover,.account-menu button:hover{background:var(--surface-muted)}.account-menu button.danger,.btn-small{color:var(--danger)}.btn-small{display:inline-block;padding:7px 12px;font-size:14px;background:#fff;border:1px solid rgba(220,38,38,.35);border-radius:8px;cursor:pointer;font-weight:700;transition:all .2s}.btn-small:hover{background:rgba(220,38,38,.08)}.nav-toggle{display:none;background:transparent;border:none;padding:8px;cursor:pointer;border-radius:8px}.hamburger{display:block;position:relative}.hamburger,.hamburger:after,.hamburger:before{width:20px;height:2px;background:var(--primary)}.hamburger:after,.hamburger:before{content:"";position:absolute;left:0}.hamburger:before{top:-6px}.hamburger:after{top:6px}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}main.container{margin-top:44px;margin-bottom:56px}.narrow-page{max-width:560px}.profile-page{max-width:900px}.home-page{padding-bottom:56px}.home-hero{background:linear-gradient(135deg,#fff,#edf6f8 52%,#f7f9fc);border-bottom:1px solid var(--border)}.home-hero-inner{min-height:520px;display:grid;grid-template-columns:minmax(0,1fr) 420px;grid-gap:56px;gap:56px;align-items:center;padding-top:56px;padding-bottom:56px}.center-panel h1,.hero-copy h1,.login-panel h1,.portal-hero h1{margin:0;color:var(--primary);line-height:1.05;font-size:clamp(34px,6vw,62px);font-weight:800;letter-spacing:0}.hero-copy p{font-size:18px;line-height:1.7;color:var(--text-secondary);max-width:640px;margin:18px 0 0}.eyebrow{margin:0 0 12px;color:var(--accent);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hero-actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}.hero-visual{position:relative;background:#fff;border:1px solid var(--border);border-radius:8px;padding:18px;box-shadow:var(--shadow-md)}.hero-visual img{width:100%;border-radius:8px;background:var(--surface-muted)}.visual-note{position:absolute;left:30px;right:30px;bottom:30px;display:flex;flex-direction:column;gap:4px;background:hsla(0,0%,100%,.92);border:1px solid var(--border);border-radius:8px;padding:14px;box-shadow:var(--shadow-sm)}.visual-note span{color:var(--text-secondary);font-size:13px;line-height:1.4}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;font-size:15px;font-weight:800;border:none;border-radius:8px;cursor:pointer;transition:all .2s;background:var(--secondary);color:#fff;box-shadow:var(--shadow-sm)}.btn:hover{background:var(--secondary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.btn.secondary{background:#fff;color:var(--text-primary);border:1px solid var(--border);box-shadow:none}.btn.secondary:hover{background:var(--surface-muted)}.btn.secondary.danger-action{color:var(--danger);border-color:rgba(220,38,38,.3)}.btn.secondary.danger-action:hover{background:rgba(220,38,38,.07)}.section-block{margin-top:48px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading h2{margin:0;color:var(--primary);font-size:26px;line-height:1.2}.section-heading span{color:var(--text-secondary);font-size:14px;font-weight:700}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:18px;gap:18px}.cards article,.login-panel,.panel,.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-xs)}.cards article{padding:22px;transition:all .2s}.cards article:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px);border-color:rgba(11,116,222,.35)}.cards article h4{margin:0 0 10px;font-size:18px;color:var(--primary)}.cards article p{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.65}.service-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.compact-cards article small{display:block;margin-top:14px;color:var(--text-secondary);font-weight:600}.request-open-btn{margin-top:14px}.invoice-lines{display:grid;grid-gap:6px;gap:6px;margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.invoice-lines span{display:block;color:var(--text-secondary);font-size:12px;font-weight:800;line-height:1.45}.form{display:flex;flex-direction:column;gap:16px}.form label{display:block;font-weight:700;font-size:14px;color:var(--primary);margin-bottom:6px}.form input,.form select,.form textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:15px;font-family:inherit;transition:all .2s}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--secondary);box-shadow:0 0 0 3px rgba(11,116,222,.12)}.checkbox-line{display:flex!important;align-items:center;gap:10px;margin-bottom:0!important}.checkbox-line input{width:auto!important}.checkbox-line span{color:var(--text);font-weight:800}.error{color:var(--danger);background:rgba(220,38,38,.07);border:1px solid rgba(220,38,38,.18);border-radius:8px}.error,.success-message{font-size:14px;padding:12px}.success-message{color:#047857;background:rgba(16,185,129,.09);border:1px solid rgba(16,185,129,.22);border-radius:8px}.login-panel,.panel{padding:34px}.login-panel{display:flex;flex-direction:column;gap:28px}.profile-panel .section-heading{align-items:flex-start}.profile-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--surface-muted);border:1px solid var(--border);border-radius:8px}.profile-summary strong{color:var(--primary)}.profile-summary span{color:var(--text-secondary);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.center-panel{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.muted{color:var(--text-secondary);line-height:1.6}.customer-portal,.portal-page{display:flex;flex-direction:column;gap:24px}.customer-portal{margin-top:24px;margin-bottom:56px}.customer-hero,.customer-portal .section-block{margin-top:0}.portal-shell{display:grid;grid-template-columns:280px minmax(0,1fr) 360px;grid-gap:24px;gap:24px;align-items:start;margin-top:24px;margin-bottom:56px}.container.portal-shell{max-width:none;width:100%;padding-left:24px;padding-right:24px}.customer-shell{grid-template-columns:280px minmax(0,1fr)}.portal-sidebar{position:-webkit-sticky;position:sticky;top:84px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:18px;box-shadow:var(--shadow-xs)}.sidebar-profile{display:flex;flex-direction:column;gap:5px;padding-bottom:16px;margin-bottom:14px;border-bottom:1px solid var(--border)}.sidebar-profile span{color:var(--accent);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.sidebar-profile strong{font-size:18px;color:var(--primary)}.sidebar-profile em{font-style:normal;color:var(--text-secondary);font-size:13px;font-weight:700}.sidebar-nav{gap:10px}.sidebar-group,.sidebar-nav{display:flex;flex-direction:column}.sidebar-group{gap:6px;border:1px solid transparent;border-radius:8px}.sidebar-group span{padding:0 12px;color:var(--text-secondary);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.sidebar-group.collapsible{border-color:var(--border);padding:8px;background:#fbfdff}.sidebar-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;padding:4px 2px 8px;cursor:pointer}.sidebar-group-toggle span{padding:0}.sidebar-group-toggle strong{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#fff;border:1px solid var(--border);color:var(--secondary)}.sidebar-nav button{width:100%;border:0;background:transparent;color:var(--text-secondary);border-radius:8px;padding:11px 12px;text-align:left;font:inherit;font-weight:800;cursor:pointer}.sidebar-nav button:hover{background:var(--surface-muted);color:var(--primary)}.sidebar-nav button.active{background:rgba(11,116,222,.1);color:var(--secondary)}.customer-sidebar .sidebar-group{border-color:var(--border);background:#fbfdff;padding:8px}.customer-sidebar .sidebar-group>span{padding:4px 2px 2px}.portal-content{display:flex;flex-direction:column;gap:24px;min-width:0}.portal-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:32px;box-shadow:var(--shadow-sm)}.portal-hero h1{font-size:42px;margin-bottom:12px}.admin-pill,.role-badge{display:inline-flex;align-items:center;border-radius:999px;font-size:13px;font-weight:800;white-space:nowrap}.role-badge{background:rgba(22,160,133,.12);color:#0f766e;padding:8px 12px;border:1px solid rgba(22,160,133,.25)}.admin-pill{background:rgba(11,116,222,.1);color:var(--secondary);padding:7px 10px;border:1px solid rgba(11,116,222,.22)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.stat-card{padding:20px}.details-grid span,.stat-card span{display:block;color:var(--text-secondary);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.stat-card strong{font-size:28px;color:var(--primary)}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:22px}.details-grid strong{font-size:16px;color:var(--primary)}.card-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.card-topline h4{margin:0}.card-topline span{font-size:12px;font-weight:800;color:var(--secondary);background:rgba(11,116,222,.09);padding:5px 8px;border-radius:999px;white-space:nowrap}.empty-state{grid-column:1/-1;margin:0;background:#fff;border:1px dashed var(--border);border-radius:8px;padding:22px;color:var(--text-secondary)}.admin-users{background:#fff;border:1px solid var(--border);border-radius:8px;padding:24px;box-shadow:var(--shadow-xs)}.admin-grid{display:grid;grid-template-columns:420px minmax(0,1fr);grid-gap:22px;gap:22px;align-items:start}.admin-form{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;padding:20px}.admin-form h3{margin:0 0 4px;color:var(--primary);font-size:20px}.search-field{margin:0 0 16px;background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;padding:14px}.search-field label{display:block;margin-bottom:6px;color:var(--primary);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.search-field input{width:100%;border:1px solid var(--border);border-radius:8px;padding:11px 12px;font:inherit;color:var(--text);background:#fff}.search-field input:focus{outline:3px solid rgba(11,116,222,.18);border-color:var(--secondary)}.readonly-field{border:1px solid var(--border);border-radius:8px;background:var(--surface-muted);padding:11px 12px;color:var(--primary);font-weight:800}.readonly-field small{display:block;margin-top:5px;color:var(--text-secondary);font-size:12px;line-height:1.4;font-weight:700}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.user-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:8px;background:#fff}.user-table{width:100%;border-collapse:collapse;min-width:680px}.user-table td,.user-table th{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.user-table th{background:#f8fafc;color:var(--text-secondary);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.user-table tr:last-child td{border-bottom:none}.table-subtext{display:block;margin-top:4px;color:var(--text-secondary);font-size:12px;font-weight:700}.table-role{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:rgba(11,116,222,.09);color:var(--secondary);font-size:12px;font-weight:800;white-space:nowrap}.table-role.status-accepted{background:rgba(16,185,129,.12);color:#047857}.table-role.status-rejected{background:rgba(220,38,38,.1);color:var(--danger)}.table-role.status-pending{background:rgba(11,116,222,.09);color:var(--secondary)}.table-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-table{border:1px solid var(--border);background:#fff;color:var(--primary);border-radius:8px;padding:7px 10px;font-weight:800;cursor:pointer}.btn-table:hover{background:var(--surface-muted)}.btn-table.danger{color:var(--danger);border-color:rgba(220,38,38,.28)}.btn-table.danger:hover{background:rgba(220,38,38,.07)}.btn-table:disabled{opacity:.45;cursor:not-allowed}.permission-list{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.permission-list small{display:inline-flex;background:var(--surface-muted);color:var(--text-secondary);border-radius:999px;padding:4px 7px;font-weight:800}.permissions-fieldset{border:1px solid var(--border);border-radius:8px;padding:14px;margin:0}.permissions-fieldset legend{padding:0 6px;color:var(--primary);font-size:14px;font-weight:800}.form-help{margin:0 0 10px;color:var(--text-secondary);font-size:13px;line-height:1.5}.permissions-grid{display:grid;grid-template-columns:1fr;grid-gap:9px;gap:9px}.permission-toggle{display:grid!important;grid-template-columns:44px 1fr;align-items:center;grid-gap:10px;gap:10px;margin:0!important;color:var(--text-primary)!important;font-weight:800!important;cursor:pointer}.permission-toggle input{position:absolute;opacity:0;pointer-events:none}.toggle-slider{position:relative;width:44px;height:24px;border-radius:999px;background:#cbd5e1;border:1px solid #cbd5e1;transition:all .2s;box-shadow:inset 0 1px 2px rgba(15,23,42,.12)}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.22);transition:transform .2s}.permission-toggle input:checked+.toggle-slider{background:var(--secondary);border-color:var(--secondary)}.permission-toggle input:checked+.toggle-slider:before{transform:translateX(20px)}.permission-toggle input:focus-visible+.toggle-slider{outline:2px solid var(--secondary);outline-offset:2px}.permission-toggle input:disabled+.toggle-slider{opacity:.55;cursor:not-allowed}.administration-stats{margin-bottom:22px}.admin-split{display:grid;grid-template-columns:1fr 1fr;grid-gap:22px;gap:22px}.compact-heading{margin-top:0;margin-bottom:12px}.compact-heading h3{margin:0;color:var(--primary);font-size:20px;line-height:1.2}.planning-section{overflow:hidden}.planning-board{display:grid;grid-template-columns:repeat(7,minmax(230px,1fr));grid-gap:14px;gap:14px;overflow:auto;padding-bottom:8px}.planning-column{min-height:420px;background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;padding:12px}.planning-column-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.planning-column-header h3{margin:0;color:var(--primary);font-size:16px}.planning-column-header span{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:999px;background:#fff;border:1px solid var(--border);font-weight:900;color:var(--secondary)}.planning-cards{display:flex;flex-direction:column;gap:10px}.planning-card{list-style:none}.planning-card button{width:100%;text-align:left;border:1px solid var(--border);background:#fff;border-radius:8px;padding:12px;box-shadow:var(--shadow-xs);cursor:-webkit-grab;cursor:grab}.planning-card button:hover{box-shadow:var(--shadow-sm)}.planning-card button:hover,.planning-card:hover button{border-color:rgba(11,116,222,.35)}.planning-card button:active{cursor:-webkit-grabbing;cursor:grabbing}.planning-card em,.planning-card small,.planning-card span,.planning-card strong{display:block}.planning-card strong{color:var(--primary);font-size:15px;margin-bottom:5px}.planning-card span{color:var(--text-secondary);font-weight:800;font-size:13px}.planning-card small{margin-top:8px;color:var(--secondary);font-weight:900}.planning-card em{margin-top:6px;color:#047857;font-style:normal;font-weight:900;font-size:12px}.planning-card p{margin:8px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.4}.planning-empty{margin:0;border:1px dashed var(--border);border-radius:8px;padding:14px;color:var(--text-secondary);background:#fff}.repair-meta{display:grid;grid-gap:6px;gap:6px;margin:14px 0;color:var(--text-secondary);font-size:13px;font-weight:800}.customer-note{border-left:3px solid var(--secondary);padding-left:10px}.inventory-list{min-width:0}.inventory-history-heading{margin-top:22px}.inventory-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:12px}.team-message-list{display:flex;flex-direction:column;gap:12px;min-width:0}.team-message{border:1px solid var(--border);border-radius:8px;background:#fff;padding:16px;box-shadow:var(--shadow-xs)}.team-message-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.team-message-top strong{color:var(--primary)}.team-message-top span{display:inline-flex;border-radius:999px;padding:5px 8px;background:rgba(11,116,222,.09);color:var(--secondary);font-size:12px;font-weight:900}.team-message p{margin:0;color:var(--text);line-height:1.55}.team-message small{display:block;margin-top:10px;color:var(--text-secondary);font-weight:800}.team-message.priority-important{border-color:rgba(217,119,6,.35);background:rgba(217,119,6,.05)}.team-message.priority-important .team-message-top span{background:rgba(217,119,6,.12);color:#b45309}.team-message.priority-urgent{border-color:rgba(220,38,38,.35);background:rgba(220,38,38,.05)}.team-message.priority-urgent .team-message-top span{background:rgba(220,38,38,.12);color:var(--danger)}.team-chat-panel{position:-webkit-sticky;position:sticky;top:84px;max-height:calc(100vh - 108px);display:flex;flex-direction:column;gap:12px;min-width:0;background:#fff;border:1px solid var(--border);border-radius:8px;padding:16px;box-shadow:var(--shadow-xs)}.team-chat-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.team-chat-header div{display:flex;flex-direction:column;gap:3px}.team-chat-header span{color:var(--accent);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.team-chat-header strong{color:var(--primary);font-size:18px}.team-chat-form{display:flex;flex-direction:column;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--border)}.team-chat-form label{display:block;margin-bottom:5px;color:var(--primary);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.team-chat-form input,.team-chat-form select,.team-chat-form textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 11px;font:inherit;color:var(--text);background:#fff}.team-chat-form textarea{resize:vertical;min-height:88px}.team-chat-form input:focus,.team-chat-form select:focus,.team-chat-form textarea:focus{outline:3px solid rgba(11,116,222,.18);border-color:var(--secondary)}.team-chat-messages{display:flex;flex-direction:column;gap:10px;overflow:auto;min-height:0;padding-right:4px}.team-chat-panel .team-message{padding:12px}.team-chat-panel .team-message-top{align-items:flex-start}.team-chat-panel .team-message p,.team-chat-panel .team-message-top strong{font-size:14px}.team-chat-panel .team-message small{font-size:12px;line-height:1.45}.team-chat-panel .empty-state{grid-column:auto;padding:16px}.team-chat-thread-list{display:flex;flex-direction:column;gap:10px;overflow:auto;min-height:0;padding-right:4px}.team-chat-thread{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--shadow-xs);padding:10px}.team-chat-thread.active{border-color:rgba(11,116,222,.38);background:rgba(11,116,222,.04)}.team-chat-thread>button:first-child{min-width:0;border:0;background:transparent;text-align:left;padding:0;cursor:pointer}.team-chat-thread span{display:inline-flex;margin-bottom:6px;border-radius:999px;background:rgba(11,116,222,.09);color:var(--secondary);font-size:11px;font-weight:900;padding:4px 7px}.team-chat-thread strong{display:block;color:var(--primary);font-size:14px;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-chat-thread p{margin:0;color:var(--text);font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.team-chat-thread small{display:block;margin-top:7px;color:var(--text-secondary);font-size:11px;font-weight:800}.chat-unread-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;border-radius:999px;background:var(--danger);color:#fff;font-size:12px;font-weight:900;padding:0 8px}.chat-delete-button{align-self:start;border:1px solid rgba(220,38,38,.24);background:#fff;color:var(--danger);border-radius:8px;padding:6px 8px;font-size:11px;font-weight:900;cursor:pointer}.chat-delete-button:hover{background:rgba(220,38,38,.07)}.chat-window{width:min(980px,100%)}.chat-window,.chat-window-body{display:flex;flex-direction:column}.chat-window-body{gap:14px;min-height:0}.chat-message-stream{display:flex;flex-direction:column;gap:10px;min-height:280px;max-height:48vh;overflow:auto;background:var(--surface-muted);padding:14px}.chat-bubble,.chat-message-stream{border:1px solid var(--border);border-radius:8px}.chat-bubble{max-width:76%;align-self:flex-start;background:#fff;padding:10px 12px;box-shadow:var(--shadow-xs)}.chat-bubble.own{align-self:flex-end;background:rgba(11,116,222,.09);border-color:rgba(11,116,222,.22)}.chat-bubble div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.chat-bubble strong{color:var(--primary);font-size:13px}.chat-bubble span{color:var(--text-secondary);font-size:11px;font-weight:800;white-space:nowrap}.chat-bubble p{margin:0;color:var(--text);line-height:1.45}.chat-composer{border-bottom:0;padding-bottom:0}.chat-start-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.profile-notices{background:#fff;border:1px solid var(--border);border-radius:8px;padding:22px;box-shadow:var(--shadow-xs)}.notice-card{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid rgba(16,185,129,.24);background:rgba(16,185,129,.08);border-radius:8px;padding:16px;margin-top:12px}.notice-card strong{display:block;color:#047857;margin-bottom:6px}.notice-card p{margin:0;color:var(--text-secondary);line-height:1.55;font-size:14px}.notice-card span{display:inline-flex;white-space:nowrap;background:#fff;border:1px solid rgba(16,185,129,.24);border-radius:999px;padding:6px 9px;color:#047857;font-size:12px;font-weight:900}.notice-card.rejected{border-color:rgba(220,38,38,.22);background:rgba(220,38,38,.07)}.notice-card.rejected strong{color:var(--danger)}.notice-card.rejected span{border-color:rgba(220,38,38,.22);color:var(--danger)}.notice-card.status-update{border-color:rgba(11,116,222,.24);background:rgba(11,116,222,.07)}.notice-card.status-update strong{color:var(--secondary)}.notice-card.status-update span{border-color:rgba(11,116,222,.24);color:var(--secondary)}.cta-band{margin-top:48px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:26px;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:var(--shadow-xs)}.cta-band h2{margin:0 0 8px;color:var(--primary)}.cta-band p{margin:0;color:var(--text-secondary)}.contact-page{max-width:1180px}.contact-intro{margin:48px 0 24px}.contact-intro h1{margin:0 0 12px;color:var(--primary);font-size:clamp(34px,5vw,54px);line-height:1.08}.contact-intro p{max-width:760px}.request-guide{background:#fff;border:1px solid var(--border);border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:var(--shadow-xs)}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:24px;gap:24px;align-items:start}.contact-form,.contact-side{background:#fff;border:1px solid var(--border);border-radius:8px;padding:24px;box-shadow:var(--shadow-xs)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.contact-side{position:-webkit-sticky;position:sticky;top:84px}.contact-side h2{margin:0 0 14px;color:var(--primary);font-size:22px}.contact-side ul{margin:0 0 18px;padding-left:18px;color:var(--text-secondary);line-height:1.7}.contact-services{display:flex;flex-direction:column;gap:8px}.contact-services span{border:1px solid var(--border);border-radius:8px;padding:9px 10px;color:var(--primary);font-size:13px;font-weight:800;background:var(--surface-muted)}.contact-info-panel h2{margin:0 0 12px;color:var(--primary);font-size:26px}.contact-info-panel p{margin:0 0 22px;color:var(--text-secondary);line-height:1.7}.contact-info-list{display:grid;grid-gap:12px;gap:12px;margin-bottom:22px}.contact-info-list div{border:1px solid var(--border);border-radius:8px;padding:14px;background:var(--surface-muted)}.contact-info-list span{display:block;color:var(--text-secondary);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.contact-info-list strong{color:var(--primary)}.contact-info-list p{margin:6px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.5}.contact-service-info{border-top:1px solid var(--border);padding-top:20px;margin-bottom:22px}.contact-service-info h3{margin:0 0 12px;color:var(--primary);font-size:18px}.contact-service-info>div{display:grid;grid-gap:8px;gap:8px}.contact-service-info details{border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden}.contact-service-info summary{list-style:none;cursor:pointer;padding:12px 14px;color:var(--primary);font-weight:900;display:flex;align-items:center;justify-content:space-between;gap:12px}.contact-service-info summary::-webkit-details-marker{display:none}.contact-service-info summary:after{content:"+";font-size:18px;color:var(--secondary);line-height:1}.contact-service-info details[open] summary{border-bottom:1px solid var(--border);background:var(--surface-muted)}.contact-service-info details[open] summary:after{content:"-"}.contact-service-info details p{margin:0;padding:14px;color:var(--text-secondary);font-size:14px;line-height:1.7}.faq-page{max-width:1080px}.faq-layout{display:grid;grid-gap:18px;gap:18px;margin-bottom:56px}.faq-group{background:#fff;border:1px solid var(--border);border-radius:8px;padding:22px;box-shadow:var(--shadow-xs)}.faq-group h2{margin:0 0 14px;color:var(--primary);font-size:24px}.faq-group .contact-service-info{border-top:0;padding-top:0;margin-bottom:0}.after-request-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(16,185,129,.24);background:rgba(16,185,129,.08);border-radius:8px;padding:16px}.after-request-card strong{display:block;color:#047857;margin-bottom:4px}.after-request-card p{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.5}.after-request-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.modal-backdrop{position:fixed;inset:0;z-index:500;background:rgba(17,24,39,.45);display:flex;align-items:center;justify-content:center;padding:24px}.request-modal{width:min(860px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:1px solid var(--border);border-radius:8px;padding:24px;box-shadow:var(--shadow-md)}.request-modal .section-heading{align-items:flex-start}.decision-note-field{border:1px solid rgba(220,38,38,.18);background:rgba(220,38,38,.04);border-radius:8px;padding:14px}.decision-note-field strong{display:block;color:#991b1b;margin-bottom:6px}.decision-note-field p{margin:0;color:var(--text-secondary);line-height:1.5}.confirm-modal{position:fixed;z-index:520;width:min(520px,calc(100% - 32px));background:#fff;border:1px solid var(--border);border-radius:8px;padding:24px;box-shadow:var(--shadow-md)}.confirm-modal h3{margin:0 0 8px;color:var(--primary);font-size:24px}.confirm-modal .form-actions{justify-content:flex-end}.site-footer{max-width:var(--max-width);margin:64px auto 0;padding:28px 24px 0;border-top:1px solid var(--border);color:var(--text-secondary);font-size:14px;text-align:center}.cookie-banner{position:fixed;left:24px;right:24px;bottom:24px;z-index:700;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:16px 18px;box-shadow:var(--shadow-md)}.cookie-banner strong{display:block;color:var(--primary);margin-bottom:4px}.cookie-banner p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.5;max-width:720px}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}@media (max-width:900px){.home-hero-inner{grid-template-columns:1fr;min-height:auto;gap:28px}.hero-visual{max-width:520px}.admin-grid,.admin-split,.details-grid,.stats-grid{grid-template-columns:1fr}.planning-board{grid-template-columns:repeat(7,260px)}.contact-grid{grid-template-columns:1fr}.contact-side{position:static}.after-request-card,.cta-band{align-items:flex-start;flex-direction:column}.after-request-actions{justify-content:flex-start}.notice-card{flex-direction:column}.modal-backdrop{align-items:flex-start;padding:12px}.request-modal{padding:18px}.portal-shell{grid-template-columns:1fr}.portal-sidebar{position:static}.team-chat-panel{position:static;max-height:none}.chat-start-fields{grid-template-columns:1fr}.chat-bubble{max-width:100%}.sidebar-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.cookie-banner{flex-direction:column;align-items:flex-start}.cookie-actions{justify-content:flex-start}}@media (max-width:768px){.nav-toggle{display:flex}.nav{position:fixed;right:0;top:0;width:100%;height:100%;background:rgba(17,24,39,.45);display:none;z-index:99}.nav.open{display:flex}.nav-links{position:absolute;right:16px;top:64px;flex-direction:column;align-items:stretch;background:#fff;width:min(300px,calc(100vw - 32px));gap:0;padding:12px;border-radius:8px;box-shadow:var(--shadow-md)}.nav-links li{width:100%;padding:6px 0}.nav-links a{width:100%;padding:10px 12px}.auth-section{border-left:none;padding-left:0;flex-direction:column;align-items:flex-start!important}.account-menu-wrap,.account-trigger{width:100%}.account-menu{position:static;width:100%;margin-top:8px;box-shadow:var(--shadow-sm)}.portal-hero,.section-heading{flex-direction:column;align-items:flex-start}.portal-hero h1{font-size:34px}}@media (max-width:520px){.container,.topbar-inner{padding-left:16px;padding-right:16px}.brand .logo{font-size:15px;max-width:210px;display:block}main.container{margin-top:28px}.home-hero-inner{padding-top:38px;padding-bottom:38px}.hero-copy h1{font-size:36px}.login-panel,.panel,.portal-hero{padding:24px}.form-row{grid-template-columns:1fr}.contact-form,.contact-side{padding:18px}.visual-note{position:static;margin-top:12px}}