@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI Variable Text,Segoe UI,Roboto,system-ui,sans-serif;color:#172033;background:#f5f0f3;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 12% 8%,rgb(255 214 232 / .34),transparent 30%),radial-gradient(circle at 88% 18%,rgb(206 232 222 / .32),transparent 28%),linear-gradient(135deg,#f8f3f6,#eef6f2 52%,#f7f3f7);background-attachment:fixed}button,input,select,textarea{font:inherit}.app-shell{position:relative;isolation:isolate;display:grid;grid-template-rows:auto minmax(0,1fr);row-gap:10px;height:100vh;height:100dvh;padding:18px;overflow:hidden}.app-shell:before,.app-shell:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none}.app-shell:before{background:radial-gradient(circle at var(--sun-x, 76%) var(--sun-y, 18%),rgb(255 205 86 / .56) 0 34px,rgb(255 205 86 / .22) 35px 86px,transparent 88px),linear-gradient(135deg,#fff8fcc2,#e7f6f0b3)}.app-shell:after{opacity:var(--cloud-opacity, .2);background:radial-gradient(ellipse at calc(22% + var(--cloud-shift, 0px)) 18%,rgb(148 163 184 / .5) 0 54px,transparent 55px),radial-gradient(ellipse at calc(64% - var(--cloud-shift, 0px)) 12%,rgb(148 163 184 / .42) 0 68px,transparent 69px),radial-gradient(ellipse at calc(82% + var(--cloud-shift, 0px)) 30%,rgb(203 213 225 / .46) 0 58px,transparent 59px)}.app-shell.weather-night:before{background:radial-gradient(circle at var(--sun-x, 82%) var(--sun-y, 20%),rgb(226 232 240 / .42) 0 26px,transparent 54px),linear-gradient(135deg,#eef2f7,#e7f0ee)}.app-shell.weather-rain:before,.app-shell.weather-snow:before,.app-shell.weather-cloudy:before{background:radial-gradient(circle at var(--sun-x, 72%) var(--sun-y, 18%),rgb(255 205 86 / .24) 0 30px,transparent 72px),linear-gradient(135deg,#f2f6f8,#e7f0ee)}.login-screen{display:grid;place-items:center;min-height:100vh;padding:18px}.login-box{width:min(380px,100%);padding:18px;border:1px solid #d8e0dc;border-radius:8px;background:#fff;box-shadow:0 2px 10px #0f172a14}.login-form{display:grid;gap:10px}.login-form label{display:grid;gap:5px;color:#334155;font-size:13px;font-weight:900}.login-form input{min-height:40px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.login-form .primary-button{width:100%;min-height:42px;justify-content:center}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto minmax(220px,360px) auto minmax(0,1fr);align-items:center;gap:16px;margin-bottom:0;padding:8px 10px;border:1px solid rgb(15 23 42 / .08);border-radius:8px;background:linear-gradient(120deg,#ffffffd6,#f0f9ffc2 38%,#fcf7ffc7);box-shadow:0 10px 28px #0f172a14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.weather-pill{display:inline-grid;grid-template-columns:28px auto minmax(0,auto) auto;align-items:center;gap:7px;min-width:0;min-height:42px;padding:6px 10px;border:1px solid rgb(14 165 233 / .22);border-radius:8px;color:#0f172a;background:linear-gradient(135deg,#fffffff0,#e0f2fed1);box-shadow:0 7px 18px #0ea5e921}.weather-pill-icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:7px;color:#0f172a;background:linear-gradient(135deg,#fde68a,#7dd3fc);font-size:16px;line-height:1;box-shadow:inset 0 0 0 1px #ffffff85}.weather-pill-main{color:#0f172a;font-size:16px;font-weight:900;white-space:nowrap}.weather-pill-place{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900}.weather-pill-note{color:#2563eb;font-size:12px;font-weight:800;white-space:nowrap}.weather-pill.weather-rain .weather-pill-icon,.weather-pill.weather-cloudy .weather-pill-icon{color:#fff;background:linear-gradient(135deg,#38bdf8,#64748b)}.weather-pill.weather-rain{border-color:#2563eb3d;background:linear-gradient(135deg,#fffffff2,#dbeafedb)}.weather-pill.weather-snow .weather-pill-icon{color:#0f172a;background:linear-gradient(135deg,#fff,#bae6fd)}.weather-pill.weather-snow{border-color:#0ea5e933;background:linear-gradient(135deg,#fffffff5,#f0f9ffe6)}.weather-pill.weather-night .weather-pill-icon{color:#fff;background:linear-gradient(135deg,#475569,#a78bfa)}.weather-pill.weather-night{color:#172033;border-color:#7c3aed38;background:linear-gradient(135deg,#fffffff2,#ede9fedb)}.brand{display:flex;align-items:center;gap:12px}.brand.compact{margin-bottom:12px}.brand-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;color:#fff;background:#0f766e}h1,h2,p{margin:0}h1{font-size:26px;line-height:1.1}h2{font-size:18px}.brand p,.muted{color:#667085;font-size:13px}.icon-button,.primary-button{border:0;border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.icon-button{display:grid;place-items:center;width:40px;height:40px;background:#fff;color:#0f766e;box-shadow:0 1px 4px #0f172a1f}.icon-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a29;color:#0d9488;background:#fcfcfc}.icon-button:active{transform:translateY(0)}.scratch-note{position:fixed;top:72px;right:22px;z-index:60}.scratch-note-toggle{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgb(161 98 7 / .28);border-radius:8px;color:#854d0e;background:linear-gradient(90deg,rgb(239 68 68 / .12) 0 2px,transparent 2px 100%),repeating-linear-gradient(0deg,transparent 0 23px,rgb(14 116 144 / .16) 24px 25px),#fff6c9;box-shadow:0 10px 24px #0f172a2e;cursor:grab;touch-action:none}.scratch-note-toggle:active{cursor:grabbing}.scratch-note-sheet{display:grid;grid-template-rows:auto auto minmax(160px,1fr);width:min(380px,calc(100vw - 36px));height:480px;min-width:300px;min-height:380px;max-width:calc(100vw - 36px);max-height:calc(100dvh - 100px);overflow:hidden;resize:both;border:1px solid rgba(255,255,255,.45);border-radius:16px;background:#ffffffb8;backdrop-filter:blur(20px) saturate(190%);-webkit-backdrop-filter:blur(20px) saturate(190%);box-shadow:0 30px 60px #0000001f,0 1px 3px #0000000a,inset 0 1px #fff9;transition:box-shadow .2s ease}.scratch-note-head{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px 8px 18px;color:#1e293b;font-weight:600;font-size:14px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.scratch-note-head span{display:inline-flex;align-items:center;gap:7px;pointer-events:none;color:#0f172a}.scratch-note-head button{display:inline-grid;place-items:center;width:28px;height:28px;margin-left:auto;border:1px solid rgba(0,0,0,.06);border-radius:50%;color:#64748b;background:#0000000a;cursor:pointer;-webkit-user-select:auto;user-select:auto;touch-action:auto;transition:all .2s ease}.scratch-note-head button:hover{background:#00000014;color:#1e293b}.scratch-note-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:0 16px 12px;border-bottom:1px solid rgba(0,0,0,.05)}.scratch-note-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;border:1px solid rgba(0,0,0,.05);border-radius:8px;color:#475569;background:#ffffff80;font-weight:500;font-size:12px;cursor:pointer;transition:all .2s ease}.scratch-note-tabs button:hover{background:#fffc;color:#0f172a}.scratch-note-tabs button.active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 4px 12px #2563eb33}.scratch-sync-error{margin:8px 16px;padding:8px 12px;border:1px solid rgba(220,38,38,.15);border-radius:8px;color:#dc2626;background:#fee2e2cc;font-size:12px;font-weight:600}.scratch-note-textarea{width:100%;min-height:0;padding:14px 16px;border:0;outline:0;resize:none;color:#1e293b;background:transparent;line-height:1.6;font-size:14px}.scratch-note textarea::placeholder,.scratch-note input::placeholder{color:#94a3b8}.scratch-contacts{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;padding:0 16px 12px;overflow:hidden}.scratch-contact-form{display:grid;gap:7px}.scratch-contact-form input,.scratch-contact-form textarea{width:100%;border:1px solid rgba(0,0,0,.08);border-radius:8px;color:#1e293b;background:#fff9;outline:0;transition:all .2s ease}.scratch-contact-form input:focus,.scratch-contact-form textarea:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb26}.scratch-contact-form input{min-height:34px;padding:7px 10px}.scratch-contact-form textarea{min-height:62px;max-height:110px;padding:8px 10px;resize:vertical}.scratch-contact-add{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:0;border-radius:8px;color:#fff;background:#2563eb;font-weight:600;cursor:pointer;transition:all .2s ease}.scratch-contact-add:hover{background:#1d4ed8}.scratch-contact-list{display:grid;align-content:start;gap:8px;min-height:0;overflow:auto;padding-right:2px}.scratch-contact-empty{padding:12px;border:1px dashed rgba(0,0,0,.12);border-radius:8px;color:#64748b;background:transparent;font-size:13px;font-weight:500;text-align:center}.scratch-contact-item{position:relative;display:grid;gap:5px;padding:10px 38px 10px 12px;border:1px solid rgba(0,0,0,.06);border-radius:8px;color:#1e293b;background:#fff6}.scratch-contact-item div{display:grid;gap:2px}.scratch-contact-item strong{line-height:1.2;font-weight:600}.scratch-contact-item time{color:#64748b;font-size:11px;font-weight:500}.scratch-contact-item a{color:#2563eb;font-weight:500;text-decoration:none;overflow-wrap:anywhere}.scratch-contact-item a:hover{text-decoration:underline}.scratch-contact-item p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.35;color:#475569}.scratch-contact-item>button{position:absolute;top:8px;right:8px;display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid rgba(0,0,0,.06);border-radius:50%;color:#64748b;background:#fff9;cursor:pointer;transition:all .2s ease}.scratch-contact-item>button:hover{background:#0000000a;color:#ef4444;border-color:#ef444433}.scratch-reminder-alert{position:fixed;right:22px;top:72px;z-index:90;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;width:min(360px,calc(100vw - 36px));padding:10px 14px;border:1px solid rgba(255,255,255,.45);border-radius:14px;color:#1e293b;background:#ffffffd1;backdrop-filter:blur(20px) saturate(190%);-webkit-backdrop-filter:blur(20px) saturate(190%);box-shadow:0 10px 30px #0000001a,0 1px 3px #0000000d,inset 0 1px #fff9;animation:mac-toast-slide .4s cubic-bezier(.16,1,.3,1) forwards,mac-toast-pulse 3s infinite ease-in-out}.scratch-reminder-alert svg{color:#2563eb}.scratch-reminder-alert span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:13px;color:#1e293b}.scratch-reminder-alert button{min-height:28px;padding:0 12px;border:0;border-radius:8px;color:#fff;background:#2563eb;font-weight:600;font-size:12px;cursor:pointer;transition:all .2s ease}.scratch-reminder-alert button:hover{background:#1d4ed8}@keyframes mac-toast-slide{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes mac-toast-pulse{0%,to{box-shadow:0 10px 30px #0000001a,0 0 #2563eb26}50%{box-shadow:0 12px 35px #00000026,0 0 0 4px #2563eb40}}.scratch-reminders{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;padding:0 16px 12px;overflow:hidden}.scratch-reminder-form{display:grid;gap:7px}.scratch-reminder-form textarea,.scratch-reminder-form input{width:100%;border:1px solid rgba(0,0,0,.08);border-radius:8px;color:#1e293b;background:#fff9;outline:0;transition:all .2s ease}.scratch-reminder-form textarea:focus,.scratch-reminder-form input:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb26}.scratch-reminder-form textarea{min-height:58px;max-height:110px;padding:8px 10px;resize:vertical}.scratch-reminder-form input{min-height:34px;padding:7px 10px}.scratch-reminder-list{display:grid;align-content:start;gap:8px;min-height:0;overflow:auto;padding-right:2px}.scratch-reminder-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;padding:10px 10px 10px 12px;border:1px solid rgba(0,0,0,.06);border-radius:8px;color:#1e293b;background:#fff6}.scratch-reminder-item.due{border-color:#ef444433;background:#fee2e299}.scratch-reminder-item div:first-child{display:grid;gap:3px;min-width:0}.scratch-reminder-item strong{overflow-wrap:anywhere;line-height:1.25;font-weight:500}.scratch-reminder-item time{color:#64748b;font-size:11px;font-weight:500}.scratch-reminder-actions{display:inline-flex;gap:5px}.scratch-reminder-actions button{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid rgba(0,0,0,.06);border-radius:50%;color:#64748b;background:#fff9;cursor:pointer;transition:all .2s ease}.scratch-reminder-actions button:hover{background:#0000000a;color:#0f172a}.scratch-reminder-actions button:hover[title=Удалить]{color:#ef4444;border-color:#ef444433}.scratch-reminder-actions button:hover[title=Готово]{color:#10b981;border-color:#10b98133}.user-panel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.user-panel span{color:#344054;font-weight:700}.workspace-tabs{z-index:19;display:flex;align-items:center;gap:4px;width:100%;margin:0;padding:4px;border:1px solid #d8e0dc;border-radius:8px;background:#fff;box-shadow:0 1px 4px #0f172a14}.workspace-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:7px 12px;border:0;border-radius:6px;color:#475569;background:transparent;font-weight:800;cursor:pointer;transition:all .2s ease}.workspace-tabs button:hover:not(.active){color:#0f766e;background:#0f766e0d}.workspace-tabs button.active{color:#fff;background:#0f766e;box-shadow:0 2px 8px #0f766e47}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 12px;color:#fff;background:#0f766e;font-weight:700;box-shadow:0 2px 4px #0f766e33}.primary-button:hover{background:#0d9488;transform:translateY(-1px);box-shadow:0 4px 12px #0f766e4d}.primary-button:active{transform:translateY(0)}.stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.metric{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;width:100%;padding:12px;border:1px solid transparent;border-radius:8px;background:#fff;color:inherit;cursor:pointer;box-shadow:0 1px 4px #0f172a14}.metric.active{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e26,0 1px 4px #0f172a14}.metric strong{font-size:22px}.metric.danger{color:#991b1b}.metric.warn{color:#92400e}.metric.info{color:#0f766e}.work-area{display:grid;grid-template-columns:330px minmax(0,1fr);gap:14px;align-items:start;height:100%;min-height:0}.work-area.buyer-layout{grid-template-columns:1fr}.side-stack{display:grid;gap:12px;max-height:100%;overflow:auto;padding-right:4px}.quick-form,.table-panel,.admin-box{background:#fff;border:1px solid #d8e0dc;border-radius:8px;box-shadow:0 2px 10px #0f172a12}.quick-form,.admin-box{padding:14px}.admin-toolbar{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #d8e0dc;background:#ffffffc2}.admin-toolbar-main{min-height:40px;justify-content:center;box-shadow:none}.admin-toolbar-settings{display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto}.admin-toolbar-settings button{flex:0 0 auto;min-height:34px;padding:6px 10px;border:1px solid #cbd5e1;border-radius:7px;color:#334155;background:#fff;font-size:13px;font-weight:900;cursor:pointer}.admin-toolbar-settings button:hover,.admin-toolbar-settings button:focus-visible{border-color:#0f766e;color:#0f766e;outline:none}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:start center;padding:64px 18px 18px;background:#0f172a57}.admin-modal{display:flex;flex-direction:column;width:min(680px,100%);max-height:calc(100vh - 96px);border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 24px 70px #0f172a52;overflow:hidden}.admin-modal-request{width:min(620px,100%)}.admin-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:10px 12px 10px 16px;border-bottom:1px solid #d8e0dc;background:#f8fafc}.admin-modal-head h2{font-size:20px}.admin-modal-head .icon-button{width:36px;height:36px;box-shadow:none;border:1px solid #cbd5e1}.admin-modal-body{min-height:0;overflow:auto;padding:14px}.admin-modal-body .quick-form,.admin-modal-body .admin-box{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.admin-modal-body .quick-form>h2,.admin-modal-body .admin-box>h2{display:none}.admin-modal-body form{margin-top:0;gap:9px}.admin-modal-body input,.admin-modal-body select,.admin-modal-body textarea{min-height:38px}.request-title-input{min-height:116px;max-height:220px;resize:vertical;line-height:1.35;font-size:16px;font-weight:800}.admin-box h2{display:flex;align-items:center;gap:8px}form{display:grid;gap:10px;margin-top:12px}label{display:grid;gap:5px;color:#344054;font-size:13px;font-weight:700}input,select,textarea{width:100%;min-height:36px;border:1px solid #cbd5e1;border-radius:6px;padding:8px;background:#fff;color:#111827;transition:all .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:#0f766e;box-shadow:0 0 0 3px #0f766e26}textarea{resize:vertical}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inline-add{grid-template-columns:1fr 38px}.department-list,.status-admin-list{display:grid;gap:8px;margin-top:10px}.status-admin-row{display:grid;gap:6px;padding:10px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.status-admin-main{display:grid;grid-template-columns:minmax(126px,.9fr) minmax(150px,1fr) 42px;gap:9px;align-items:center}.status-name-input{min-width:0;min-height:42px;padding:7px 11px;font-size:16px}.sort-input{min-height:36px;padding:6px}.final-check{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;min-height:36px;color:#667085;font-size:12px;font-weight:800}.final-check input{width:14px;min-height:14px}.status-preview{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:42px;padding:6px 8px;border:1px solid rgb(15 23 42 / .08);border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(11px,1.08vw,13px);font-weight:900;line-height:1.05;text-align:center}.status-admin-main .small-button{width:42px;height:42px;min-width:42px;border-radius:8px}.weather-admin form{gap:8px}.weather-admin-current{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:10px;padding:8px 9px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#334155;font-size:12px;font-weight:800}.weather-admin-current span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weather-admin-current strong{color:#0f766e}.status-admin-advanced{color:#667085;font-size:12px}.status-admin-advanced summary{width:max-content;padding:2px 4px;border-radius:5px;color:#0f766e;font-weight:900;cursor:pointer;list-style:none}.status-admin-advanced summary::-webkit-details-marker{display:none}.status-admin-advanced summary:hover{background:#ecfdf5}.status-admin-advanced>div{display:grid;grid-template-columns:58px 58px minmax(0,1fr);gap:7px;align-items:end;margin-top:7px}.status-admin-advanced label{gap:3px;font-size:11px}.status-final-note{align-self:center;min-width:0;color:#667085;font-size:12px;font-weight:900;white-space:nowrap}.department-row{display:grid;grid-template-columns:1fr 42px 38px;gap:7px;align-items:center}.color-input{min-height:36px;padding:4px}.small-button{display:inline-grid;place-items:center;min-width:36px;height:36px;border:0;border-radius:6px;color:#fff;background:#0f766e;cursor:pointer}.small-button.neutral{background:#475569}.user-form{grid-template-columns:1fr}.user-list{display:grid;gap:6px;margin-top:10px}.user-row{display:flex;justify-content:space-between;gap:8px;padding:8px;border-radius:6px;background:#f8fafc;font-size:13px}.user-row b{color:#0f766e}.table-panel{min-width:0;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden}.analytics-panel{display:grid;gap:10px;padding:12px;border-bottom:1px solid #d8e0dc}.analytics-page{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;align-items:start;max-width:1400px;margin:0 auto;width:100%;height:100%;overflow-y:auto;padding:4px}.analytics-toolbar{grid-column:1 / -1;display:flex;justify-content:flex-end}.analytics-periods{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 1px 4px #0f172a14}.analytics-periods button{min-height:34px;padding:6px 12px;border:0;border-radius:6px;color:#475569;background:transparent;font-size:13px;font-weight:900;cursor:pointer}.analytics-periods button.active{color:#fff;background:#0f766e}.analytics-side-column{display:grid;gap:16px}.analytics-chart-donut-wrap{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:20px}.analytics-donut-container{display:flex;justify-content:center;align-items:center}.analytics-donut-svg{width:100%;max-width:220px;height:auto}.donut-segment{transition:stroke-width .2s ease,stroke .2s ease;cursor:pointer}.donut-center-title{fill:#64748b;font-size:7px;font-weight:850;text-transform:uppercase}.donut-center-value{fill:#0f172a;font-size:13px;font-weight:900}.donut-center-sub{fill:#64748b;font-size:7px;font-weight:850}.analytics-donut-legend{display:grid;gap:6px}.legend-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;border-radius:6px;cursor:pointer;transition:background .15s ease}.legend-item:hover,.legend-item.active{background:#f1f5f9}.legend-item-left{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13px;color:#334155}.legend-dot{width:10px;height:10px;border-radius:99px;flex-shrink:0}.legend-item-right{display:flex;align-items:baseline;gap:4px;font-size:13px}.legend-item-right strong{color:#0f172a;font-weight:900}.legend-item-right span{color:#64748b;font-size:11px;font-weight:800}@media(max-width:980px){.analytics-page{grid-template-columns:1fr}.analytics-chart-donut-wrap{grid-template-columns:1fr;gap:16px}}.analytics-hero,.analytics-chart{border:1px solid #d8e0dc;border-radius:8px;background:#fffffff0;box-shadow:0 2px 10px #0f172a12}.analytics-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:104px;padding:18px 22px;background:linear-gradient(135deg,#e7f6f0f5,#fff8fcfa)}.analytics-hero span{display:inline-flex;align-items:center;gap:8px;color:#334155;font-size:15px;font-weight:900}.analytics-hero svg{color:#0f766e}.analytics-hero strong{color:#0f172a;font-size:46px;line-height:1}.analytics-hero small{grid-column:1 / -1;color:#64748b;font-size:13px;font-weight:800}.analytics-chart{display:grid;gap:14px;padding:18px 22px 22px}.analytics-chart h2{font-size:18px}.analytics-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.analytics-legend{display:flex;flex-wrap:wrap;gap:10px;color:#475569;font-size:12px;font-weight:900}.analytics-legend span{display:inline-flex;align-items:center;gap:5px}.analytics-legend i{width:10px;height:10px;border-radius:3px}.legend-requested{background:#2563eb}.legend-buyer{background:#d97706}.legend-received{background:#0f766e}.analytics-bar-row{display:grid;gap:7px}.analytics-bar-label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;color:#334155;font-weight:900}.analytics-bar-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-bar-label strong{color:#0f172a}.analytics-bar-track{height:28px;overflow:hidden;border-radius:6px;background:#eef2f7}.analytics-bar{display:block;height:100%;border-radius:inherit;background:#0f766e}.analytics-bar-1{background:#2563eb}.analytics-bar-2{background:#be185d}.analytics-bar-3{background:#7c3aed}.analytics-bar-4{background:#d97706}.analytics-empty{padding:14px;border-radius:8px;color:#667085;background:#f8fafc;font-weight:800}.analytics-activity{min-height:260px}.activity-bars{display:grid;grid-template-columns:repeat(var(--activity-days, 30),minmax(14px,1fr));align-items:end;gap:5px;min-height:190px;padding-top:8px;overflow-x:auto}.activity-day{display:grid;grid-template-rows:minmax(140px,1fr) 35px;align-items:end;gap:6px;min-width:0}.activity-stack{display:grid;grid-template-columns:repeat(3,minmax(3px,1fr));align-items:end;gap:2px;height:140px}.activity-bar{display:block;min-height:2px;border-radius:4px 4px 0 0}.activity-bar.requested{background:#2563eb}.activity-bar.buyer{background:#d97706}.activity-bar.received{background:#0f766e}.activity-day small{overflow:hidden;color:#64748b;font-size:10px;font-weight:800;text-align:center;white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg)}.notifications-panel{display:grid;gap:8px;padding:10px 12px;border-bottom:1px solid #d8e0dc;background:#f1f5f9b8}.notifications-panel.has-unread{background:#ecfdf5b8}.notifications-head{display:flex;align-items:center;gap:10px}.notifications-head h2{display:inline-flex;align-items:center;gap:8px;margin-right:auto}.notifications-head span,.notifications-empty{color:#667085;font-size:13px;font-weight:700}.notifications-list{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:8px}.notification-item{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:8px;min-height:50px;padding:7px;border:1px solid rgb(148 163 184 / .28);border-radius:8px;background:#ffffffd1;color:#172033}.notification-open{display:grid;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:34px;padding:1px 0 1px 3px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.notification-item.unread{border-color:#0f766e5c;box-shadow:0 0 0 3px #0f766e14}.notification-dot{width:8px;height:8px;border-radius:999px;background:#94a3b8}.notification-item.unread .notification-dot{background:#0f766e}.notification-open span:last-child{display:grid;min-width:0;gap:2px}.notification-open strong,.notification-open small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-open strong{font-size:13px}.notification-open small{color:#667085;font-size:12px}.notification-dismiss{display:inline-grid;place-items:center;width:28px;height:28px;border:0;border-radius:6px;color:#64748b;background:transparent;cursor:pointer}.notification-dismiss:hover{color:#0f172a;background:#0f172a14}.chat-notifications{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px;padding:10px 12px;border-bottom:1px solid #d8e0dc;background:#fff8fca3}.chat-notification{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:8px;min-height:48px;padding:7px;border:1px solid rgb(219 39 119 / .24);border-radius:8px;color:#172033;background:#ffffffdb}.chat-notification-open{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:34px;padding:1px 0 1px 2px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.chat-notification-open svg{color:#be185d}.chat-notification-open span{display:grid;min-width:0;gap:2px}.chat-notification-open strong,.chat-notification-open small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-notification-open strong{font-size:13px}.chat-notification-open small{color:#667085;font-size:12px}@keyframes chat-notice-pulse{0%,to{box-shadow:0 0 #db277729}50%{box-shadow:0 0 0 4px #db277714}}.analytics-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.analytics-head h2{display:inline-flex;align-items:center;gap:8px}.analytics-head span{color:#667085;font-size:13px;font-weight:700}.analytics-metrics{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:10px}.analytics-card,.analytics-group{display:grid;gap:4px;min-height:74px;padding:10px 12px;border:1px solid rgb(216 224 220 / .9);border-radius:8px;background:#ffffffb8}.analytics-card.main{background:linear-gradient(135deg,#e8d2dfc7,#e7f6f0d1)}.analytics-card span,.analytics-group span{display:inline-flex;align-items:center;gap:6px;color:#667085;font-size:12px;font-weight:800}.analytics-card strong{color:#172033;font-size:26px;line-height:1.05}.analytics-card small,.analytics-group small{color:#667085;font-size:12px;font-weight:700}.analytics-groups{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px}.analytics-group{min-height:68px}.analytics-group strong{color:#172033;font-size:20px}.filters{position:relative;z-index:5;flex:0 0 auto;display:grid;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #d8e0dc;background:#ffffffc2}.filters.buyer-filters,.filters.admin-filters{display:grid;align-items:center}.filters.buyer-filters{grid-template-columns:minmax(320px,1fr) auto minmax(150px,170px) minmax(300px,380px) auto}.filters.admin-filters{grid-template-columns:minmax(360px,1fr) auto minmax(150px,170px) minmax(300px,380px) minmax(420px,auto)}.admin-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end;min-width:0}.admin-actions .admin-toolbar-main{flex:0 0 auto;width:auto;min-width:154px}.search-box{position:relative;min-width:280px;max-width:none;width:100%}.search-box .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#0f766e}.search-box input{width:100%;min-height:42px;padding:9px 40px 9px 38px;border:1px solid #9fb4c8;border-radius:8px;background:#fff;box-shadow:inset 0 1px 2px #0f172a0a,0 1px 4px #0f172a0f;font-weight:800}.search-box input:focus{border-color:#0f766e;outline:3px solid rgb(15 118 110 / .14);box-shadow:0 2px 10px #0f766e1f}.search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-grid;place-items:center;width:30px;height:30px;border:0;border-radius:6px;color:#64748b;background:transparent;cursor:pointer}.search-clear:hover,.search-clear:focus-visible{color:#0f766e;background:#ecfdf5;outline:none}.visible-count{display:grid;grid-template-columns:auto auto;align-items:center;gap:1px 6px;min-width:0;height:42px;padding:4px 10px;border:1px solid rgb(15 118 110 / .22);border-radius:8px;color:#334155;background:#fff;box-shadow:0 1px 4px #0f172a0f}.visible-count span{color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}.visible-count strong{color:#0f766e;font-size:20px;line-height:1;text-align:right}.visible-count small{grid-column:1 / -1;color:#64748b;font-size:12px;font-weight:800;white-space:nowrap}.status-filter{position:relative;min-width:0;width:100%}.status-filter-trigger{display:flex;align-items:center;gap:8px;width:100%;height:42px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;color:#334155;background:#fff;font-weight:800;cursor:pointer;list-style:none}.status-filter-trigger svg{color:#0f766e;flex:0 0 auto}.status-filter-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-filter-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;display:grid;gap:9px;padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 10px 30px #0f172a2e}.status-filter-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;border-radius:8px;background:#f1f5f9}.status-filter-modes button{min-height:30px;border:0;border-radius:6px;color:#475569;background:transparent;font-size:12px;font-weight:900;cursor:pointer}.status-filter-modes button.active{color:#fff;background:#0f766e}.status-filter-list{display:grid;gap:6px;max-height:260px;overflow:auto}.status-filter-option{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;min-height:30px;font-size:13px;font-weight:800}.status-filter-option input{width:16px;min-height:16px;margin:0}.status-filter-option span{min-width:0;padding:5px 8px;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgb(15 23 42 / .08)}.status-filter-clear{min-height:30px;border:1px solid #cbd5e1;border-radius:6px;color:#475569;background:#f8fafc;font-size:12px;font-weight:900;cursor:pointer}.sort-controls{display:grid;grid-template-columns:auto minmax(0,1fr) 72px;align-items:center;gap:8px;height:42px;padding:5px;border:1px solid #b7c5d4;border-radius:8px;background:#fff;box-shadow:0 1px 4px #0f172a14}.sort-caption{display:inline-flex;align-items:center;gap:6px;padding-left:4px;color:#334155;font-size:12px;font-weight:900;white-space:nowrap}.sort-caption svg{color:#0f766e}.sort-controls select{min-height:30px;padding:4px 7px;border-color:#cbd5e1;font-weight:800}.sort-direction-button{height:30px;border:1px solid #0f766e;border-radius:6px;color:#0f766e;background:#ecfdf5;font-size:12px;font-weight:900;cursor:pointer}.sort-controls .icon-button{width:36px;height:36px;color:#172033;background:#f8fafc;border:1px solid #cbd5e1;font-weight:900}.site-group-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:40px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;color:#334155;background:#fff;font-size:12px;font-weight:900;cursor:pointer}.site-group-toggle svg{display:block;flex:0 0 auto;color:#0f766e}.site-group-toggle span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-group-toggle.active{border-color:#0f766e;color:#fff;background:#0f766e}.site-group-toggle.active svg{color:#fff}.table-scroll-shell{flex:1 1 auto;position:relative;min-height:0}.table-wrap{width:100%;height:100%;overflow:auto;min-height:0;max-height:none}.scroll-jump-buttons{position:absolute;right:14px;bottom:14px;z-index:8;display:grid;gap:8px}.scroll-jump-button{display:inline-grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgb(15 118 110 / .34);border-radius:8px;color:#fff;background:#0f766e;box-shadow:0 8px 24px #0f172a2e;cursor:pointer;line-height:0}.scroll-jump-button svg{display:block}.scroll-jump-button:hover:not(:disabled),.scroll-jump-button:focus-visible:not(:disabled){outline:none;background:#115e59;box-shadow:0 10px 28px #0f172a38}.scroll-jump-button:disabled{cursor:default;opacity:.42;box-shadow:0 4px 12px #0f172a1f}table{width:100%;border-collapse:separate;border-spacing:0;min-width:1240px}th,td{border-bottom:1px solid #d8e0dc;border-right:1px solid rgb(148 163 184 / .34);padding:9px 10px;text-align:left;vertical-align:top;font-size:14px}th:last-child,td:last-child{border-right:0}th{position:sticky;top:0;z-index:1;height:44px;border-bottom:1px solid rgb(14 116 144 / .32);color:#10243e;background:linear-gradient(180deg,#f8fdfffa,#e2f5faf5);box-shadow:inset 0 1px #ffffffe6,inset 0 -3px #0ea5e929,0 3px 10px #0f172a12;font-weight:900;cursor:default;-webkit-user-select:none;user-select:none}.site-group-row td{position:sticky;top:44px;z-index:1;padding:7px 12px;border-right:0;color:#0f5f59;background:linear-gradient(90deg,#e7f6f0,#fff8fc);box-shadow:inset 4px 0 #0f766e;font-size:13px;font-weight:900}.site-group-row span{display:inline-flex;align-items:center;min-height:24px;margin-right:8px}.site-group-row strong{display:inline-grid;place-items:center;min-width:26px;height:24px;padding:0 7px;border-radius:6px;color:#fff;background:#0f766e}.column-head{display:inline-flex;align-items:center;gap:6px;min-width:0;vertical-align:middle}.column-label{display:inline-block;vertical-align:middle}.column-sort-button{display:inline-flex;align-items:center;gap:7px;max-width:calc(100% - 26px);min-height:30px;padding:3px 7px;border:1px solid transparent;border-radius:6px;color:inherit;background:transparent;font:inherit;font-weight:900;cursor:pointer;vertical-align:middle}.column-sort-button:hover{border-color:#0ea5e933;background:#ffffffad;box-shadow:0 2px 8px #0e749014}.sort-mark{display:inline-grid;place-items:center;width:24px;height:24px;margin-left:8px;border-radius:6px;color:#475569;background:#ffffff70;vertical-align:middle}.sort-mark.active{color:#fff;background:#0284c7;box-shadow:0 3px 8px #0284c733}th:active{cursor:default}.drag-handle{display:inline-grid;place-items:center;width:20px;height:30px;margin-right:4px;border-radius:6px;color:#0891b2;opacity:.72;cursor:grab;vertical-align:middle}.drag-handle:hover{background:#ffffffb8;opacity:1}.drag-handle:active{cursor:grabbing}tbody tr{transition:background-color .2s ease,transform .15s ease,box-shadow .2s ease}tbody tr:hover{outline:none;background-color:#0f766e08!important;box-shadow:inset 2px 0 #0f766e}.row-chat-unread{background:linear-gradient(90deg,#db277729,#fffffff0 46px)}.row-normal{--status-line: #94a3b8;background:linear-gradient(90deg,#94a3b82e,#fffffff0 34px)}.row-warn{--status-line: #d97706;background:linear-gradient(90deg,#f59e0b3d,#fffbebe0 42px,#fffffff5)}.row-danger{--status-line: #dc2626;background:linear-gradient(90deg,#b91c1c61,#fee2e2eb 58px,#fffffffa)}.row-urgent{--status-line: #dc2626}.row-done{--status-line: #16a34a;background:linear-gradient(90deg,#22c55e2e,#f0fdf4db 38px,#fffffff5)}.row-unread{box-shadow:inset 4px 0 #0f766e,inset 8px 0 0 var(--status-line)}tbody tr:not(.row-unread){box-shadow:inset 4px 0 0 var(--status-line)}tbody tr.row-danger:not(.row-unread){box-shadow:inset 4px 0 #dc2626,0 0 #dc26260f}.row-highlight{position:relative;outline:3px solid #0f766e;outline-offset:-3px;animation:row-target-flash 1.05s ease-in-out 3}.row-highlight td{box-shadow:inset 0 0 0 999px #0f766e29}.row-saved{position:relative;outline:2px solid rgb(15 118 110 / .42);outline-offset:-2px}.row-saved td{animation:row-save-pop .72s cubic-bezier(.2,.9,.22,1)}.row-danger td{background-color:#fee2e233}@keyframes row-save-pop{0%{transform:translateY(0);background-color:#ecfdf500;box-shadow:inset 0 0 0 999px #0f766e00}28%{transform:translateY(-3px);background-color:#ecfdf5d1;box-shadow:inset 0 0 0 999px #0f766e1f,0 6px 14px #0f172a1a}48%{transform:translateY(1px)}72%{transform:translateY(-1px)}to{transform:translateY(0);background-color:#ecfdf500;box-shadow:inset 0 0 0 999px #0f766e00}}@keyframes row-target-flash{0%,to{outline-color:#0f766e;filter:saturate(1)}50%{outline-color:#f59e0b;filter:saturate(1.18)}}@keyframes danger-heartbeat{0%,to{filter:saturate(1)}42%{filter:saturate(1.08)}50%{filter:saturate(1.18)}58%{filter:saturate(1.08)}}@keyframes danger-cell-glow{0%,to{background-color:#fef2f224;box-shadow:inset 0 0 0 999px #dc262600}42%{background-color:#fee2e23d;box-shadow:inset 0 0 0 999px #dc262605}50%{background-color:#fecaca57;box-shadow:inset 0 0 0 999px #dc262609,0 0 10px #dc262614}58%{background-color:#fee2e23d;box-shadow:inset 0 0 0 999px #dc262605}}@keyframes row-breathe-warn{0%,to{background-color:#f59e0b08}50%{background-color:#f59e0b1f}}@keyframes row-breathe-danger{0%,to{background-color:#fef2f259;box-shadow:inset 4px 0 #dc2626,0 0 #dc262614}50%{background-color:#fee2e2bd;box-shadow:inset 4px 0 #ef4444,0 0 0 3px #dc262614}}.mono{font-family:Consolas,Courier New,monospace;white-space:nowrap}.request-title{max-width:420px;font-weight:700}.item-link-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:96px;height:32px;padding:0 10px;border:1px solid #cbd5e1;border-radius:6px;color:#0f766e;background:#fff;text-decoration:none}.item-link-button:hover{border-color:#0f766e;background:#ecfdf5}.link-cell{color:#667085;white-space:nowrap}.link-cell-stack{display:grid;gap:6px;align-items:start}.site-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:150px;min-height:24px;padding:3px 7px;border:1px solid rgb(15 118 110 / .18);border-radius:6px;color:#0f5f59;background:#ecfdf5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900}.site-badge.empty{border-color:#e2e8f0;color:#64748b;background:#f8fafc}.empty-link{color:#94a3b8;font-size:12px;font-weight:800}.quantity-cell{white-space:nowrap;font-weight:800}.date-cell{color:#334155;font-weight:800;white-space:nowrap}.timer-cell{display:grid;gap:5px;min-width:180px}.timer-empty{min-width:98px}.timer-empty .timer-controls{grid-template-columns:52px 34px}.flying-package-container{position:relative;height:24px;margin:0 18px 2px;overflow:visible}.flying-package{position:absolute;top:0;left:0;transform:translate(-50%);z-index:10;pointer-events:none;transition:left .4s cubic-bezier(.25,.8,.25,1);width:36px;height:24px}.flying-package-svg{display:block;overflow:visible}@keyframes package-wing-flap-left{0%,to{transform:rotate(0)}50%{transform:rotate(-24deg) translateY(-1px)}}@keyframes package-wing-flap-right{0%,to{transform:rotate(0)}50%{transform:rotate(24deg) translateY(-1px)}}.package-wing-left{transform-origin:12px 10px;animation:package-wing-flap-left .4s ease-in-out infinite}.package-wing-right{transform-origin:24px 10px;animation:package-wing-flap-right .4s ease-in-out infinite}.flying-package-container.idle .package-wing-left,.flying-package-container.done .package-wing-left,.flying-package-container.idle .package-wing-right,.flying-package-container.done .package-wing-right{animation-duration:1.5s}@keyframes package-panic-shake{0%,to{transform:translate(-50%) translateY(0) rotate(0)}20%{transform:translate(-50%) translateY(-1px) rotate(-1.5deg)}40%{transform:translate(-50%) translateY(1px) rotate(1deg)}60%{transform:translate(-50%) translateY(-1px) rotate(-1deg)}80%{transform:translate(-50%) translateY(1px) rotate(1.5deg)}}.flying-package-container.overdue .flying-package{animation:package-panic-shake .18s ease-in-out infinite}.flying-package-container.overdue .package-wing-left,.flying-package-container.overdue .package-wing-right{animation-duration:.18s}.timer-visual{position:relative;display:flex;flex-direction:column;gap:2px;padding:4px 6px;background:#ffffff73;border-radius:8px;border:1px solid rgba(15,23,42,.05);width:100%}.timer-meter{position:relative;height:9px;overflow:hidden;border-radius:999px;background:#e2e8f0}.timer-meter>span{display:block;height:100%;border-radius:inherit;background:#22c55e;transition:width .24s ease,background .24s ease}.timer-day-segments{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--segment-count),minmax(3px,1fr));gap:2px;padding:2px}.timer-day-segment{min-width:0;border-radius:999px;background:#fff9;box-shadow:inset 0 0 0 1px #0f172a14}.timer-day-segment.left{background:#ffffffb8}.timer-day-segment.done{background:#94a3b8a8}.timer-day-segment.today{background:#f59e0b;box-shadow:0 0 0 1px #f59e0b47,0 0 7px #f59e0b5c}.timer-day-segment.overdue{background:#dc2626;box-shadow:0 0 0 1px #dc26263d}.timer-controls{display:grid;grid-template-columns:52px 34px 34px;gap:5px;align-items:center}.timer-controls input{width:52px;min-height:32px;padding:5px 6px;border-radius:6px}.timer-controls .small-button{min-width:34px;height:32px}.timer-label{color:#667085;font-size:12px;font-weight:700;white-space:nowrap}.timer-warn .flower-plant{transform:rotate(calc(var(--lean, 0deg) + 2deg)) translateY(var(--drop, 0px))}.timer-warn .timer-meter>span{background:#f59e0b;animation:timer-meter-pulse 1.2s ease-in-out infinite}.timer-danger .flower-plant{transform:rotate(calc(var(--lean, 0deg) + 3deg)) translateY(var(--drop, 0px))}.timer-danger .timer-meter>span,.timer-overdue .timer-meter>span{background:#ef4444;animation:timer-meter-pulse .72s ease-in-out infinite}.timer-overdue .flower-plant{transform:rotate(calc(var(--lean, 0deg) + 4deg)) translateY(calc(var(--drop, 0px) + 2px))}.timer-overdue .timer-label{color:#991b1b}@keyframes flower-sway{0%,to{transform:rotate(calc(var(--lean, 0deg) - 3deg)) translateY(var(--drop, 0px))}50%{transform:rotate(calc(var(--lean, 0deg) + 4deg)) translateY(calc(var(--drop, 0px) + 1px))}}@keyframes flower-ready-breathe{0%,to{transform:rotate(-1deg) translateY(-2px) scale(1)}50%{transform:rotate(1deg) translateY(-4px) scale(1.04)}}@keyframes flower-core-glow{0%,to{box-shadow:0 0 0 2px #ffffff61,0 0 #f59e0b00}50%{box-shadow:0 0 0 2px #ffffff75,0 0 10px 2px #f59e0b47}}@keyframes flower-warn-sway{0%,to{transform:rotate(calc(var(--lean, 0deg) - 2deg)) translateY(var(--drop, 0px))}50%{transform:rotate(calc(var(--lean, 0deg) + 8deg)) translateY(calc(var(--drop, 0px) + 2px))}}@keyframes flower-danger-shiver{0%,to{transform:rotate(calc(var(--lean, 0deg) + 1deg)) translateY(var(--drop, 0px))}35%{transform:rotate(calc(var(--lean, 0deg) + 7deg)) translateY(calc(var(--drop, 0px) + 1px))}70%{transform:rotate(calc(var(--lean, 0deg) - 2deg)) translateY(calc(var(--drop, 0px) + 2px))}}@keyframes flower-dead-drift{0%,to{transform:rotate(calc(var(--lean, 0deg) + 3deg)) translateY(var(--drop, 0px))}50%{transform:rotate(calc(var(--lean, 0deg) + 5deg)) translateY(var(--drop, 0px))}}@keyframes timer-meter-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.22)}}@keyframes flower-wilt{0%,to{transform:rotate(calc(var(--lean, 0deg) - 2deg)) translateY(var(--drop, 0px))}50%{transform:rotate(calc(var(--lean, 0deg) + 3deg)) translateY(calc(var(--drop, 0px) + 2px))}}.new-pill{display:block;width:max-content;margin-top:5px;padding:2px 6px;border-radius:5px;color:#fff;background:#0f766e;font-size:11px;font-weight:800}.badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:6px;font-weight:800;white-space:nowrap;border:1px solid rgb(15 23 42 / .08);box-shadow:inset 0 -1px #0f172a14}.department-badge{min-width:86px;justify-content:center}.age{display:inline-grid;place-items:center;min-width:34px;height:30px;border-radius:6px;background:#fff;font-weight:900}.age-warn{color:#92400e}.age-danger{color:#991b1b}.cell-input{min-height:32px;padding:6px 7px;border-radius:6px;background:#ffffffb8}.cell-select{min-height:32px;padding:6px 7px;border-radius:6px;background:#ffffffc7}.priority-select{min-width:118px;font-weight:800}.cell-input:disabled{color:#334155;background:transparent;border-color:transparent;opacity:1}.nf-input{width:120px}.note-input{min-width:210px}.status-cell{display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:center;gap:7px;min-width:245px}.status-select{min-height:32px;border-color:#0f172a1f;font-weight:800}.status-tools{display:inline-flex;align-items:center;gap:6px}.chat-button{position:relative}.chat-button.unread{color:#fff;background:#be185d}.chat-button span{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;color:#fff;background:#dc2626;font-size:11px;line-height:17px}.chat-button.unread span{background:#0f766e}@keyframes chat-button-bump{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.chat-row td{padding:0;background:#f8fafc}.history-row td{padding:0;background:#fbf7ef}.request-chat{display:flex;flex-direction:column;gap:12px;margin:0 0 12px;padding:16px;border-radius:12px;background:#f4f4f7;box-shadow:inset 0 1px #ffffff80,0 4px 16px #0f172a14;border:1px solid #d1d1d6}.request-history{display:grid;gap:10px;margin:0 0 8px;padding:12px 14px 14px 18px;border-left:4px solid #a16207;background:linear-gradient(90deg,rgb(220 38 38 / .1) 0 2px,transparent 2px 100%),repeating-linear-gradient(0deg,transparent 0 24px,rgb(14 116 144 / .12) 25px 26px),#fff7d6}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid #d1d1d6}.history-head{display:flex;align-items:center;gap:8px;color:#431407}.chat-head-left{display:flex;align-items:center;gap:8px;color:#1c1c1e}.chat-head-left strong{font-size:14px;font-weight:600}.chat-head-left span{font-size:11px;font-weight:500;background:#e5e5ea;color:#55555f;padding:2px 6px;border-radius:4px}.chat-head-right{display:flex;align-items:center;gap:8px}.history-head span{color:#854d0e;font-size:12px}.chat-search-wrapper{position:relative;display:flex;align-items:center}.chat-search-input{width:110px;height:24px;padding:0 8px 0 24px;font-size:12px;border-radius:6px;border:1px solid #c7c7cc;background:#fff;transition:all .2s ease}.chat-search-input:focus{width:150px;border-color:#007aff;box-shadow:0 0 0 3px #007aff26;outline:none}.chat-search-icon{position:absolute;left:6px;color:#8e8e93;pointer-events:none}.chat-close{display:inline-grid;place-items:center;width:24px;height:24px;border:none;border-radius:50%;color:#8e8e93;background:#e5e5ea;cursor:pointer;transition:background .15s,color .15s}.chat-close:hover{background:#ff3b30;color:#fff}.chat-messages{display:flex;flex-direction:column;gap:10px;max-height:260px;overflow-y:auto;padding:8px 10px;background:#fff;border-radius:8px;border:1px solid #d1d1d6;scroll-behavior:smooth}.history-list{display:grid;gap:8px;max-height:260px;overflow:auto;padding-left:2px}.chat-empty{display:flex;align-items:center;justify-content:center;height:80px;color:#8e8e93;font-size:13px;font-style:italic}.history-empty{color:#854d0e;font-size:13px;font-weight:800}.chat-message-row{display:flex;align-items:flex-end;gap:8px;max-width:80%}.chat-message-row.incoming{align-self:flex-start}.chat-message-row.outgoing{align-self:flex-end;flex-direction:row-reverse}.chat-avatar{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 1px 2px #00000014}.chat-avatar.admin{background:linear-gradient(135deg,#34c759,#248a3d)}.chat-avatar.buyer{background:linear-gradient(135deg,#ff9500,#ff5e00)}.chat-avatar.system{background:linear-gradient(135deg,#8e8e93,#636366)}.chat-bubble-wrapper{display:flex;flex-direction:column;gap:2px}.chat-message-row.incoming .chat-bubble-wrapper{align-items:flex-start}.chat-message-row.outgoing .chat-bubble-wrapper{align-items:flex-end}.chat-sender-info{font-size:10px;color:#8e8e93;font-weight:600;margin:0 4px}.chat-bubble{position:relative;padding:8px 12px;font-size:13px;line-height:1.4;white-space:pre-wrap;word-break:break-word;box-shadow:0 1px 2px #0000000d}.chat-message-row.incoming .chat-bubble{background:#e5e5ea;color:#000;border-radius:16px 16px 16px 4px}.chat-message-row.outgoing .chat-bubble{background:#007aff;color:#fff;border-radius:16px 16px 4px}.history-event{position:relative;display:grid;grid-template-columns:118px minmax(0,1fr);gap:12px;width:min(860px,100%);padding:8px 10px 8px 14px;border:1px solid rgb(161 98 7 / .16);border-radius:8px;background:#ffffff94}.history-event time{color:#854d0e;font-size:12px;font-weight:900}.history-event p{margin:0;color:#3f2f19;line-height:1.35}.chat-time{font-size:9px;color:#8e8e93;margin:2px 4px 0}.chat-templates{display:flex;flex-wrap:wrap;gap:6px;padding:2px 4px}.chat-template-pill{font-size:11px;font-weight:600;padding:4px 8px;border-radius:12px;border:1px solid #d1d1d6;background:#fff;color:#007aff;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 2px #00000008}.chat-template-pill:hover{background:#eaf2ff;border-color:#b3d7ff}.chat-compose-container{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:4px}.chat-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.chat-input{width:100%;height:32px;padding:0 12px;font-size:13px;border-radius:16px;border:1px solid #c7c7cc;background:#fff;transition:all .2s ease}.chat-input:focus{border-color:#007aff;box-shadow:0 0 0 3px #007aff26;outline:none}.chat-send-btn{display:inline-grid;place-items:center;width:32px;height:32px;border:none;border-radius:50%;background:#007aff;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s}.chat-send-btn:hover{opacity:.9}.chat-send-btn:active{transform:scale(.95)}.chat-send-btn:disabled{background:#e5e5ea;color:#8e8e93;cursor:not-allowed;transform:none}.loading,.error-box{margin:12px;padding:12px;border-radius:8px}.loading{background:#f8fafc}.error-box{color:#991b1b;background:#fee2e2}.compact-error{margin:0}@media(max-width:980px){.app-shell{padding:12px}.topbar{grid-template-columns:1fr}.weather-pill{grid-template-columns:28px auto minmax(0,1fr) auto}.stats-row,.work-area,.filters,.analytics-metrics,.analytics-groups,.notifications-list,.chat-notifications,.filters.buyer-filters,.filters.admin-filters{grid-template-columns:1fr}.admin-actions{justify-content:flex-start;flex-wrap:wrap}.workspace-tabs{display:grid;grid-template-columns:1fr 1fr}.analytics-hero{grid-template-columns:1fr}.analytics-hero strong{font-size:38px}.analytics-chart-head{align-items:flex-start;flex-direction:column}.activity-bars{grid-template-columns:repeat(var(--activity-days, 30),minmax(14px,1fr));overflow-x:auto;padding-bottom:4px}.table-wrap{max-height:none}}.cat-container{position:fixed;bottom:0;z-index:9999;width:90px;height:90px;pointer-events:none}.cat-bubble{position:absolute;bottom:95px;left:50%;width:max-content;max-width:250px;padding:8px 12px;border:1.5px solid #fb923c;border-radius:12px;background:#fff;color:#7c2d12;font-size:12px;font-weight:800;box-shadow:0 4px 12px #7c2d1226;white-space:normal;word-wrap:break-word;text-align:center;line-height:1.4;animation:cat-bubble-float .8s ease-in-out infinite alternate}.cat-bubble:after{content:"";position:absolute;bottom:-6px;left:50%;width:8px;height:8px;background:#fff;border-right:1.5px solid #fb923c;border-bottom:1.5px solid #fb923c;transform:translate(-50%) rotate(45deg)}.cat-companion{width:100%;height:100%;pointer-events:auto;cursor:pointer}.cat-svg{width:100%;height:100%}.cat-tail{transform-origin:25px 55px;animation:cat-tail-wag 2s ease-in-out infinite}.leg-back-left{transform-origin:34px 65px}.leg-back-right{transform-origin:42px 65px}.leg-front-left{transform-origin:54px 65px}.leg-front-right{transform-origin:62px 65px}.eye-left{transform-origin:58px 38px}.eye-right{transform-origin:70px 38px}.cat-eye{animation:cat-blink 5s infinite}.ear-left,.ear-left-inner{transform-origin:52px 30px;transition:transform .2s ease}.ear-right,.ear-right-inner{transform-origin:74px 30px;transition:transform .2s ease}.whisker-left-1{transform-origin:52px 42px}.whisker-left-2{transform-origin:52px 45px}.whisker-right-1{transform-origin:76px 42px}.whisker-right-2{transform-origin:76px 45px}.state-walking .leg-front-left,.state-walking .leg-back-right{animation:cat-walk-1 .3s ease-in-out infinite alternate}.state-walking .leg-front-right,.state-walking .leg-back-left{animation:cat-walk-2 .3s ease-in-out infinite alternate}.state-walking .cat-head-group{animation:cat-head-walk-bob-tilt .3s ease-in-out infinite alternate}.state-walking .cat-body{animation:cat-body-walk-bob .3s ease-in-out infinite alternate}.state-walking .ear-left,.state-walking .ear-left-inner{animation:cat-ear-twitch-left 6s infinite}.state-walking .ear-right,.state-walking .ear-right-inner{animation:cat-ear-twitch-right 6s infinite}.state-walking .cat-whisker{animation:cat-whisker-wiggle .5s ease-in-out infinite alternate}.state-sitting .cat-tail{animation:cat-tail-wag-fast 1s ease-in-out infinite}.state-sitting .cat-head-group{animation:cat-head-tilt 4s ease-in-out infinite}.state-sitting .ear-left,.state-sitting .ear-left-inner{animation:cat-ear-twitch-left 5s infinite}.state-sitting .ear-right,.state-sitting .ear-right-inner{animation:cat-ear-twitch-right 5s infinite}.state-sitting .cat-whisker{animation:cat-whisker-wiggle 1.5s ease-in-out infinite alternate}.state-sleeping .cat-eye{animation:none}.state-sleeping .eye-left,.state-sleeping .eye-right{transform:scaleY(.15)}.state-sleeping .cat-head-group,.state-sleeping .cat-body{animation:cat-sleep-breathe 2s ease-in-out infinite alternate}.state-sleeping .cat-tail{animation:cat-tail-wag-slow 3s ease-in-out infinite}.cat-alarmed .cat-bubble{border-color:#ef4444;color:#991b1b}.cat-alarmed .cat-bubble:after{border-right-color:#ef4444;border-bottom-color:#ef4444}.cat-alarmed .cat-eye{animation:cat-eye-worry .5s ease-in-out infinite alternate}.state-jumping .cat-eye{animation:none;transform:scale(1.25)}.state-jumping .ear-left,.state-jumping .ear-left-inner{transform:rotate(-22deg) translateY(2px)}.state-jumping .ear-right,.state-jumping .ear-right-inner{transform:rotate(22deg) translateY(2px)}.state-jumping .leg-front-left,.state-jumping .leg-front-right{transform:rotate(-35deg)}.state-jumping .leg-back-left,.state-jumping .leg-back-right{transform:rotate(35deg)}.state-jumping .cat-tail{transform:rotate(-25deg);transform-origin:25px 55px}.state-scared .leg-front-left,.state-scared .leg-back-right{animation:cat-run .12s linear infinite alternate}.state-scared .leg-front-right,.state-scared .leg-back-left{animation:cat-run-reverse .12s linear infinite alternate}.state-scared .cat-body{animation:cat-body-walk-bob .08s ease-in-out infinite alternate}.state-scared .cat-head-group{animation:cat-head-walk-bob-tilt .08s ease-in-out infinite alternate}.state-scared .cat-tail{animation:cat-tail-wag-fast .4s ease-in-out infinite}.state-scared .cat-eye{animation:cat-eye-worry .2s ease-in-out infinite alternate}@keyframes cat-tail-wag{0%,to{transform:rotate(0)}50%{transform:rotate(-12deg)}}@keyframes cat-tail-wag-fast{0%,to{transform:rotate(-5deg)}50%{transform:rotate(-22deg)}}@keyframes cat-tail-wag-slow{0%,to{transform:rotate(0)}50%{transform:rotate(-5deg)}}@keyframes cat-walk-1{0%{transform:rotate(-18deg)}to{transform:rotate(18deg)}}@keyframes cat-walk-2{0%{transform:rotate(18deg)}to{transform:rotate(-18deg)}}@keyframes cat-head-bob{0%{transform:translateY(0)}to{transform:translateY(-3px)}}@keyframes cat-body-bob{0%{transform:translateY(0)}to{transform:translateY(-1.5px)}}@keyframes cat-head-tilt{0%,to{transform:rotate(0);transform-origin:64px 45px}25%{transform:rotate(5deg);transform-origin:64px 45px}75%{transform:rotate(-5deg);transform-origin:64px 45px}}@keyframes cat-sleep-breathe{0%{transform:translateY(0) scaleY(1)}to{transform:translateY(1.5px) scaleY(.97)}}@keyframes cat-bubble-float{0%{bottom:91px}to{bottom:96px}}@keyframes cat-eye-worry{0%{transform:scale(1)}to{transform:scale(1.15)}}@keyframes cat-blink{0%,90%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes cat-ear-twitch-left{0%,90%,to{transform:rotate(0)}92%{transform:rotate(-12deg)}94%{transform:rotate(0)}}@keyframes cat-ear-twitch-right{0%,85%,to{transform:rotate(0)}88%{transform:rotate(12deg)}90%{transform:rotate(0)}}@keyframes cat-whisker-wiggle{0%{transform:rotate(-4deg)}to{transform:rotate(4deg)}}@keyframes cat-head-walk-bob-tilt{0%{transform:translateY(0) rotate(-2.5deg);transform-origin:64px 45px}to{transform:translateY(-4px) rotate(2.5deg);transform-origin:64px 45px}}@keyframes cat-body-walk-bob{0%{transform:translateY(0) scaleY(1);transform-origin:45px 65px}to{transform:translateY(-2px) scaleY(.96);transform-origin:45px 65px}}@keyframes cat-run{0%{transform:rotate(-30deg)}to{transform:rotate(30deg)}}@keyframes cat-run-reverse{0%{transform:rotate(30deg)}to{transform:rotate(-30deg)}}.row-action-buttons{display:flex;align-items:center;gap:8px;margin-top:6px}.row-action-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:700;border-radius:4px;border:1px solid #cbd5e1;background:#fff;color:#475569;cursor:pointer;transition:all .15s ease;line-height:1}.row-action-btn:hover{border-color:#94a3b8;background:#f1f5f9;color:#0f172a}.row-action-btn.chat-btn.unread{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.row-action-btn.chat-btn.unread:hover{background:#fecaca}.row-action-btn .badge{display:inline-grid;place-items:center;min-width:15px;height:15px;border-radius:50%;background:#dc2626;color:#fff;font-size:9px;font-weight:800;line-height:1;padding:0 3px;margin-left:2px}.icon-button.active{background:#0f766e!important;color:#fff!important}.scratch-chat-container{display:flex;flex-direction:column;height:100%;min-height:0;background:transparent}.scratch-chat-header-row{display:flex;align-items:center;padding:0 16px 8px;border-bottom:1px solid rgba(0,0,0,.05);position:relative}.scratch-chat-search-icon{position:absolute;left:26px;color:#94a3b8;pointer-events:none}.scratch-chat-search-input{width:100%;padding:6px 12px 6px 28px;border-radius:8px;border:1px solid rgba(0,0,0,.08);background:#fff9;font-size:13px;outline:none;transition:all .2s ease}.scratch-chat-search-input:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb26}.scratch-chat-messages{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.scratch-chat-empty{margin:auto;color:#94a3b8;font-size:13px;font-style:italic;text-align:center}.scratch-chat-templates{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px;background:#00000005;border-top:1px solid rgba(0,0,0,.04)}.scratch-chat-template-pill{font-size:11px;padding:4px 8px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:6px;color:#475569;cursor:pointer;transition:all .15s ease}.scratch-chat-template-pill:hover{background:#f8fafc;color:#0f172a;border-color:#00000026}.scratch-chat-compose{display:flex;gap:8px;padding:10px 16px 12px;border-top:1px solid rgba(0,0,0,.05);background:#fff6}.scratch-chat-input{flex:1;padding:8px 12px;border-radius:8px;border:1px solid rgba(0,0,0,.08);background:#fff9;font-size:13px;outline:none;transition:all .2s ease}.scratch-chat-input:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb26}.scratch-chat-send-btn{display:grid;place-items:center;width:32px;height:32px;background:#2563eb;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;font-size:14px;transition:all .2s ease}.scratch-chat-send-btn:hover{background:#1d4ed8}.scratch-chat-send-btn:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}.scratch-note-sheet{grid-template-rows:auto auto minmax(0,1fr)!important}.general-chat-window{position:fixed;top:72px;right:80px;z-index:60;display:flex;flex-direction:column;gap:12px;width:380px;height:480px;min-width:280px;min-height:320px;padding:16px;border-radius:12px;background:#f4f4f7;box-shadow:inset 0 1px #ffffff80,0 18px 46px #0f172a38;border:1px solid #d1d1d6;resize:both;overflow:hidden}.general-chat-window .chat-messages{flex:1;max-height:none}.general-chat-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid #d1d1d6;cursor:grab;-webkit-user-select:none;user-select:none}.general-chat-header:active{cursor:grabbing}.general-chat-header-left{display:flex;align-items:center;gap:8px;color:#1c1c1e}.general-chat-header-left strong{font-size:14px;font-weight:700}.general-chat-header-right{display:flex;align-items:center;gap:8px}.icon-button{position:relative}.icon-button .badge{position:absolute;top:-2px;right:-2px;display:inline-grid;place-items:center;min-width:16px;height:16px;border-radius:50%;background:#dc2626;color:#fff;font-size:9px;font-weight:800;line-height:1;padding:0 3px;box-shadow:0 0 0 2px #fff}.analytics-main-column{display:flex;flex-direction:column;gap:16px;flex:1;min-width:0}.analytics-trend{display:flex;flex-direction:column;gap:12px}.trend-subtitle{font-size:11px;color:#64748b;margin-top:2px}.trend-bars{display:flex;align-items:flex-end;justify-content:space-around;gap:16px;height:160px;padding:24px 8px 8px;background:#fff6;border-radius:8px;border:1px solid rgba(15,23,42,.04)}.trend-month-col{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;max-width:60px;height:100%}.trend-bar-wrap{position:relative;width:100%;flex:1;display:flex;align-items:flex-end;justify-content:center}.trend-bar{width:24px;background:linear-gradient(180deg,#3b82f6,#2563eb);border-radius:6px 6px 0 0;position:relative;display:flex;justify-content:center;transition:height .5s cubic-bezier(.25,.8,.25,1),transform .2s ease,background .2s ease;box-shadow:0 4px 10px #2563eb26}.trend-month-col:hover .trend-bar{background:linear-gradient(180deg,#60a5fa,#3b82f6);box-shadow:0 6px 14px #2563eb40;transform:translateY(-2px)}.trend-value{position:absolute;top:-22px;font-size:10px;font-weight:800;color:#1e3a8a;background:#dbeafe;padding:2px 4px;border-radius:4px;white-space:nowrap;box-shadow:0 1px 2px #0f172a0d}.trend-label{font-size:10px;font-weight:700;color:#475569;text-align:center;white-space:nowrap}
