:root {
  --navy-950: #081b2c;
  --navy-900: #102a43;
  --navy-800: #173f5f;
  --blue-600: #1473e6;
  --blue-100: #e9f3ff;
  --green-600: #14a673;
  --green-100: #e4f8f0;
  --orange-600: #e87613;
  --orange-100: #fff1df;
  --red-600: #d94747;
  --red-100: #feecec;
  --slate-900: #1a2a38;
  --slate-700: #425466;
  --slate-500: #718096;
  --slate-300: #cbd5df;
  --slate-200: #e3e9ef;
  --slate-100: #f1f5f8;
  --surface: #ffffff;
  --bg: #f4f7fa;
  --shadow: 0 10px 28px rgba(15, 38, 60, .07);
  --radius: 14px;
}

* { box-sizing: border-box; }
html { font-size: 15px; }
body { margin: 0; color: var(--slate-900); background: var(--bg); font-family: "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
h1,h2,h3,strong,b { font-family: "Segoe UI", Arial, sans-serif; }
.icon { display: inline-grid; place-items: center; width: 1.2em; font-family: Arial,sans-serif; font-style: normal; }
.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 30; width: 252px; padding: 25px 17px; color: #fff; background: linear-gradient(180deg,var(--navy-950),#0f3049); display: flex; flex-direction: column; }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 8px 25px; border-bottom: 1px solid rgba(255,255,255,.1); }
.brand-mark { flex: 0 0 auto; display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: var(--navy-950); background: #69e0b0; font: 800 15px/1 "Segoe UI"; letter-spacing: -.04em; }
.brand strong { display: block; max-width: 155px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .91rem; }
.brand small { display: block; margin-top: 3px; color: #9eb3c4; font-size: .72rem; }
.nav { flex: 1; padding: 26px 0; }
.nav-label { display: block; padding: 0 13px 10px; color: #6f899d; font-size: .66rem; font-weight: 700; letter-spacing: .13em; }
.nav a { display: flex; align-items: center; gap: 12px; margin: 4px 0; padding: 12px 13px; color: #b8c9d6; border-radius: 9px; font-weight: 600; transition: .18s ease; }
.nav a:hover { color: #fff; background: rgba(255,255,255,.07); }
.nav a.active { color: #fff; background: rgba(105,224,176,.13); box-shadow: inset 3px 0 #69e0b0; }
.nav a .icon { color: #69e0b0; font-size: 1.16rem; }
.sidebar-profile { display: flex; align-items: center; gap: 9px; padding: 16px 8px 0; border-top: 1px solid rgba(255,255,255,.1); }
.avatar { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; color: #0c352a; background: #69e0b0; font: 800 .82rem "Segoe UI"; font-style: normal; }
.avatar.small { width: 31px; height: 31px; border-radius: 9px; font-size: .74rem; }
.profile-copy { min-width: 0; flex: 1; }
.profile-copy strong,.profile-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-copy strong { font-size: .78rem; }.profile-copy small { margin-top: 2px; color: #88a0b2; font-size: .68rem; }
.logout-link { color: #8da5b7; }.logout-link:hover { color: #fff; }
.app-main { min-height: 100vh; margin-left: 252px; }
.topbar { position: sticky; top: 0; z-index: 20; height: 76px; padding: 0 clamp(20px,3vw,45px); display: flex; align-items: center; justify-content: space-between; background: rgba(255,255,255,.94); border-bottom: 1px solid var(--slate-200); backdrop-filter: blur(12px); }
.topbar > div:first-of-type { display: flex; flex-direction: column; }
.topbar-context { color: var(--slate-500); font-size: .7rem; text-transform: uppercase; letter-spacing: .11em; }
.topbar strong { margin-top: 2px; font-size: .98rem; }
.topbar-actions { display: flex; align-items: center; gap: 14px; }
.today { color: var(--slate-500); font-size: .82rem; }
.mobile-menu { display: none; border: 0; background: transparent; font-size: 1.4rem; }
.content { width: min(1500px,100%); margin: 0 auto; padding: 34px clamp(20px,3vw,45px) 55px; }
.page-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 27px; }
.page-heading h1 { margin: 5px 0 5px; color: var(--navy-950); font-size: clamp(1.65rem,2.4vw,2.25rem); letter-spacing: -.045em; }
.page-heading p { margin: 0; color: var(--slate-500); }
.heading-actions { display:flex;gap:8px; }
.eyebrow { color: var(--green-600); font-size: .67rem; font-weight: 800; letter-spacing: .15em; }
.eyebrow.light { color: #69e0b0; }
.btn { min-height: 40px; padding: 10px 17px; border: 1px solid transparent; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; cursor: pointer; font-weight: 700; font-size: .84rem; transition: transform .15s,box-shadow .15s,background .15s; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #fff; background: var(--blue-600); box-shadow: 0 5px 12px rgba(20,115,230,.18); }
.btn-primary:hover { background: #0d64ca; box-shadow: 0 7px 16px rgba(20,115,230,.25); }
.btn-secondary { color: var(--navy-900); background: #fff; border-color: var(--slate-300); }
.btn-secondary:hover { border-color: #8da2b5; }
.btn-ghost { color: var(--slate-700); background: transparent; }
.btn-sm { min-height: 36px; padding: 8px 13px; font-size: .78rem; }
.btn-block { width: 100%; }
.panel { background: var(--surface); border: 1px solid var(--slate-200); border-radius: var(--radius); box-shadow: var(--shadow); }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 23px 17px; }
.panel-head h2 { margin: 0; font-size: 1.05rem; }.panel-head p { margin: 4px 0 0; color: var(--slate-500); font-size: .8rem; }
.panel-head > a { color: var(--blue-600); font-size: .8rem; font-weight: 700; }
.metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-bottom: 20px; }
.metric-card { position: relative; overflow: hidden; display: flex; align-items: center; gap: 16px; min-height: 130px; padding: 20px; background: #fff; border: 1px solid var(--slate-200); border-radius: var(--radius); box-shadow: var(--shadow); }
.metric-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:currentColor; }
.metric-card > div { display: grid; }.metric-card small { color: var(--slate-500); font-size: .76rem; }.metric-card strong { color: var(--navy-950); font-size: 2rem; line-height: 1.2; }.metric-card em { color: var(--slate-500); font-size: .69rem; font-style: normal; }
.metric-icon { display:grid;place-items:center;width:42px;height:42px;border-radius:11px;font-size:1.25rem; }
.accent-blue { color: var(--blue-600); }.accent-blue .metric-icon { background:var(--blue-100); }
.accent-green { color: var(--green-600); }.accent-green .metric-icon { background:var(--green-100); }
.accent-orange { color: var(--orange-600); }.accent-orange .metric-icon { background:var(--orange-100); }
.accent-red { color: var(--red-600); }.accent-red .metric-icon { background:var(--red-100); }
.dashboard-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 20px; }.dashboard-grid .span-2 { min-width: 0; }
.order-list { padding: 0 14px 14px; }
.order-row { display: grid; grid-template-columns: 55px minmax(200px,1fr) auto auto; align-items:center;gap:14px;padding:14px 10px;border-top:1px solid var(--slate-100); }
.order-row:hover { background:#f8fafc; }.order-time { display:grid;text-align:center; }.order-time b { color:var(--navy-900); }.order-time small { color:var(--slate-500);font-size:.68rem; }
.order-main { min-width:0;display:grid; }.order-main strong,.order-main small { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.order-main strong { font-size:.85rem; }.order-main small { margin-top:4px;color:var(--slate-500);font-size:.72rem; }
.badge,.priority { display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;padding:5px 9px;border-radius:999px;font-size:.67rem;font-weight:700;white-space:nowrap; }
.badge i { width:6px;height:6px;border-radius:50%;background:currentColor; }
.status-new,.status-analysis,.status-approval { color:#7b5ca7;background:#f2ecfa; }
.status-released,.status-scheduled { color:#1769aa;background:#e7f3fc; }
.status-traveling,.status-executing { color:#0c8a60;background:#e2f8ef; }
.status-paused,.status-pending,.status-waiting_material,.status-waiting_client { color:#b36014;background:#fff0df; }
.status-field_completed,.status-review { color:#297b7b;background:#e3f5f4; }
.status-finished { color:#168357;background:#e2f7ee; }
.status-cancelled { color:#a14747;background:#f8e8e8; }
.priority-low { color:#557284;background:#edf2f5; }.priority-medium { color:#1769aa;background:#e7f3fc; }.priority-high { color:#b36014;background:#fff0df; }.priority-emergency { color:#c73838;background:#fee8e8;box-shadow:inset 0 0 0 1px #f8cccc; }
.progress-list { display:grid;gap:16px;padding:5px 23px 23px; }.progress-list > div > span { display:flex;justify-content:space-between;gap:10px;font-size:.74rem; }.progress-list em { color:var(--slate-500);font-style:normal; }.progress-list i { display:block;height:6px;margin-top:7px;background:var(--slate-100);border-radius:999px;overflow:hidden; }.progress-list u { display:block;height:100%;background:linear-gradient(90deg,var(--blue-600),#47c997);border-radius:999px; }
.dashboard-grid > .panel:last-child > .btn { width:calc(100% - 46px);margin:0 23px 23px; }
.filter-bar { display:flex;gap:10px;margin-bottom:16px;padding:12px;background:#fff;border:1px solid var(--slate-200);border-radius:12px;box-shadow:0 5px 18px rgba(15,38,60,.04); }
.filter-bar input { flex:1; }.filters-wide input { min-width:230px; }.filters-wide select { min-width:170px; }
input,select,textarea { width:100%;min-height:42px;padding:10px 12px;color:var(--slate-900);background:#fff;border:1px solid var(--slate-300);border-radius:8px;outline:none;transition:border .15s,box-shadow .15s; }
textarea { resize:vertical; }.field input:focus,.field select:focus,.field textarea:focus,.filter-bar input:focus,.filter-bar select:focus { border-color:var(--blue-600);box-shadow:0 0 0 3px rgba(20,115,230,.1); }
.field { display:flex;flex-direction:column;gap:6px; }.field label { color:var(--slate-700);font-size:.75rem;font-weight:700; }.form-help { color:var(--slate-500);font-size:.7rem; }
.form-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px; }.form-grid .span-2 { grid-column:span 2; }.form-card { max-width:920px;margin:0 auto;padding:25px; }.form-actions { display:flex;justify-content:flex-end;gap:10px;margin-top:25px;padding-top:20px;border-top:1px solid var(--slate-200); }
.check { display:flex;align-items:center;gap:9px;color:var(--slate-700);font-size:.8rem;font-weight:600; }.check input { width:18px;min-height:18px; }
.form-section { margin:8px 0 17px;padding-bottom:10px;border-bottom:1px solid var(--slate-200); }.form-section:not(:first-of-type){margin-top:30px}.form-section h3 { margin:0;font-size:.92rem; }.form-section p { margin:4px 0 0;color:var(--slate-500);font-size:.74rem; }
.table-panel { overflow:hidden; }.table-wrap { overflow-x:auto; }table { width:100%;border-collapse:collapse; }th,td { padding:15px 18px;text-align:left;border-bottom:1px solid var(--slate-100); }th { color:var(--slate-500);background:#f9fbfc;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em; }td { color:var(--slate-700);font-size:.79rem; }td strong,td small { display:block; }td strong { color:var(--slate-900);font-size:.8rem; }td small { margin-top:3px;color:var(--slate-500);font-size:.69rem; }.table-action { color:var(--blue-600);font-weight:700; }.user-cell { display:flex;align-items:center;gap:10px; }
.empty-state { padding:45px 20px;text-align:center; }.empty-state > span { display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;color:var(--green-600);background:var(--green-100);font-size:1.5rem; }.empty-state h3 { margin:13px 0 5px; }.empty-state p,.muted { margin:0;color:var(--slate-500);font-size:.8rem; }
.cards-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px; }.service-card { display:flex;flex-direction:column;min-height:250px;padding:21px;background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius);box-shadow:var(--shadow); }.service-symbol { display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;color:var(--green-600);background:var(--green-100);border-radius:12px;font-size:1.2rem; }.service-card > div:nth-child(2){flex:1}.service-card small { color:var(--green-600);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em; }.service-card h3 { margin:6px 0;font-size:1rem; }.service-card p { margin:0;color:var(--slate-500);font-size:.77rem;line-height:1.6; }.service-meta { display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;font-size:.68rem;color:var(--slate-500); }.service-meta span { padding:5px 7px;background:var(--slate-100);border-radius:6px; }.service-card > a { color:var(--blue-600);font-size:.75rem;font-weight:700; }
.order-hero { display:flex;justify-content:space-between;gap:25px;margin-bottom:20px;padding:25px 27px;color:#fff;background:linear-gradient(120deg,var(--navy-950),#164969);border-radius:var(--radius);box-shadow:var(--shadow); }.order-hero h2 { margin:12px 0 3px;font-size:1.35rem; }.order-hero p { margin:0;color:#a9c0d1;font-size:.78rem; }.order-hero-meta { display:flex;gap:35px;align-items:center; }.order-hero-meta span { display:grid; }.order-hero-meta small { color:#8fb0c6;font-size:.68rem; }.order-hero-meta strong { margin-top:5px;font-size:.82rem; }
.detail-grid { display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,1fr);gap:20px;align-items:start; }.detail-main { display:grid;gap:20px; }.detail-side { display:grid;gap:20px; }.detail-card { padding-bottom:23px; }.detail-card > .long-text,.detail-card > .info-grid,.detail-card > .note-box,.detail-card > form,.detail-card > .attachment-grid,.detail-card > .muted { margin-left:23px;margin-right:23px; }.long-text { color:var(--slate-700);font-size:.84rem;line-height:1.7; }
.info-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:20px;background:var(--slate-200);border:1px solid var(--slate-200);border-radius:9px;overflow:hidden; }.info-grid span { display:grid;min-height:75px;padding:13px;background:#f9fbfc; }.info-grid small { color:var(--slate-500);font-size:.67rem; }.info-grid strong { margin-top:5px;font-size:.77rem; }
.note-box { margin-top:15px;padding:14px;color:#395b70;background:#edf6fb;border-left:3px solid #4ea2d8;border-radius:6px; }.note-box.technical { color:#52613b;background:#f3f7e8;border-color:#96b753; }.note-box b { font-size:.76rem; }.note-box p { margin:5px 0 0;font-size:.75rem;line-height:1.6; }
.checklist { margin-bottom:18px;border:1px solid var(--slate-200);border-radius:9px;overflow:hidden; }.checklist-row { display:flex;justify-content:space-between;gap:15px;padding:13px;border-bottom:1px solid var(--slate-100); }.checklist-row:last-child{border:0}.checklist-row > span { display:flex;align-items:center;gap:9px;font-size:.77rem; }.checklist-row > span b { display:grid;place-items:center;width:24px;height:24px;color:var(--slate-500);background:var(--slate-100);border-radius:6px;font-size:.64rem; }.checklist-row > div { display:flex;gap:5px; }.checklist-row label input { position:absolute;opacity:0; }.checklist-row label span { display:block;padding:5px 8px;color:var(--slate-500);background:var(--slate-100);border-radius:6px;font-size:.65rem;cursor:pointer; }.checklist-row label input:checked + span { color:#fff;background:var(--blue-600); }
.form-grid.compact { margin-top:16px; }.upload-bar { display:grid;grid-template-columns:130px 1fr auto;gap:9px;margin-bottom:18px; }.upload-bar input[type=file] { padding:7px; }.attachment-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:10px; }.attachment { display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--slate-200);border-radius:9px; }.attachment:hover { border-color:#9db5c7; }.attachment > span { display:grid;place-items:center;width:36px;height:36px;color:var(--blue-600);background:var(--blue-100);border-radius:8px;font-size:.64rem;font-weight:800; }.attachment div { min-width:0; }.attachment strong,.attachment small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.attachment strong { font-size:.72rem; }.attachment small { margin-top:3px;color:var(--slate-500);font-size:.64rem; }
.side-card { padding:20px; }.side-card h3 { margin:0 0 15px;font-size:.91rem; }.team-list { display:grid;gap:8px;margin-bottom:14px; }.team-list > span { display:flex;align-items:center;gap:9px; }.team-list b { font-size:.76rem; }.team-form { padding-top:14px;border-top:1px solid var(--slate-200); }.team-form select[multiple] { height:auto; }.timeline { display:grid; }.timeline > div { position:relative;display:grid;grid-template-columns:15px 1fr;gap:8px;padding-bottom:17px; }.timeline > div::before { content:"";position:absolute;left:4px;top:10px;bottom:0;width:1px;background:var(--slate-200); }.timeline > div:last-child::before{display:none}.timeline > div > i { position:relative;z-index:1;width:9px;height:9px;margin-top:4px;background:var(--green-600);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px var(--green-600); }.timeline span { display:grid; }.timeline b { font-size:.7rem; }.timeline small { margin-top:3px;color:var(--slate-500);font-size:.62rem; }.timeline em { width:max-content;margin-top:5px;padding:3px 6px;color:#1769aa;background:#e7f3fc;border-radius:5px;font-size:.61rem;font-style:normal; }.timeline p { margin:5px 0 0;color:var(--slate-500);font-size:.67rem; }
.calendar-toolbar { display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 12px;background:#fff;border:1px solid var(--slate-200);border-radius:12px;box-shadow:var(--shadow); }.calendar-nav { display:flex;align-items:center;gap:9px; }.calendar-nav > a:not(.today-btn) { display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--slate-200);border-radius:8px;font-size:1.2rem; }.calendar-nav strong { min-width:170px;text-align:center;font-size:.84rem; }.today-btn { margin-left:6px;padding:7px 10px;color:var(--blue-600);font-size:.74rem;font-weight:700; }.view-toggle { display:flex;padding:3px;background:var(--slate-100);border-radius:8px; }.view-toggle a { padding:7px 12px;color:var(--slate-500);border-radius:6px;font-size:.73rem;font-weight:700; }.view-toggle a.active { color:var(--navy-900);background:#fff;box-shadow:0 2px 5px rgba(20,40,60,.08); }
.calendar { overflow:hidden;background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius);box-shadow:var(--shadow); }.calendar-weekdays,.calendar-grid { display:grid;grid-template-columns:repeat(7,1fr); }.calendar-weekdays span { padding:11px;text-align:center;color:var(--slate-500);background:#f8fafc;border-bottom:1px solid var(--slate-200);font-size:.67rem;font-weight:800;text-transform:uppercase; }.calendar-day { min-width:0;min-height:142px;padding:8px;border-right:1px solid var(--slate-100);border-bottom:1px solid var(--slate-100); }.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:#fafcfd;color:#aab6c0}.day-number { display:grid;place-items:center;width:26px;height:26px;margin-bottom:5px;font-size:.72rem;font-weight:700; }.calendar-day.is-today .day-number { color:#fff;background:var(--blue-600);border-radius:50%; }.day-orders { display:grid;gap:4px; }.calendar-event { overflow:hidden;padding:5px 6px;border-left:3px solid;border-radius:4px;background:var(--slate-100);font-size:.64rem;white-space:nowrap;text-overflow:ellipsis; }.calendar-event small { display:block;overflow:hidden;margin-top:2px;color:var(--slate-500);font-size:.57rem;text-overflow:ellipsis; }.calendar-event.priority-low{border-color:#7d94a3}.calendar-event.priority-medium{border-color:var(--blue-600)}.calendar-event.priority-high{border-color:var(--orange-600)}.calendar-event.priority-emergency{border-color:var(--red-600);background:var(--red-100)}.more-events { color:var(--blue-600);font-size:.61rem;font-weight:700; }
.week-calendar { display:grid;gap:12px; }.week-day { display:grid;grid-template-columns:115px 1fr;overflow:hidden;background:#fff;border:1px solid var(--slate-200);border-radius:12px;box-shadow:0 5px 18px rgba(15,38,60,.04); }.week-day > header { display:flex;flex-direction:column;justify-content:center;padding:17px;background:#f8fafc;border-right:1px solid var(--slate-200); }.week-day.is-today > header { color:#fff;background:var(--blue-600); }.week-day header span { font-size:.68rem;text-transform:uppercase; }.week-day header b { margin-top:4px;font-size:1.08rem; }.week-day > div { min-width:0;padding:8px 13px; }.week-event { display:grid;grid-template-columns:55px minmax(150px,1fr) auto;align-items:center;gap:12px;padding:10px;border-bottom:1px solid var(--slate-100); }.week-event:last-child{border:0}.week-event time { color:var(--navy-900);font-weight:800; }.week-event > span { min-width:0;display:grid; }.week-event strong,.week-event small { overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }.week-event strong { font-size:.76rem; }.week-event small { color:var(--slate-500);font-size:.66rem; }.no-events { margin:13px;color:var(--slate-500);font-size:.73rem; }
.day-calendar { display:grid;gap:10px;max-width:980px;margin:0 auto; }
.day-event { display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;background:#fff;border:1px solid var(--slate-200);border-left:5px solid var(--blue-600);border-radius:12px;box-shadow:var(--shadow); }
.day-event.priority-low{border-left-color:#7d94a3}.day-event.priority-high{border-left-color:var(--orange-600)}.day-event.priority-emergency{border-left-color:var(--red-600)}
.day-event time,.day-event time small,.day-event > span { display:grid; }.day-event time { font-size:1.1rem;font-weight:800; }.day-event time small,.day-event > span small { margin-top:3px;color:var(--slate-500);font-size:.68rem;font-weight:400; }.day-event > span strong{font-size:.87rem}
.inline-form { display:inline; }.button-link { padding:0;border:0;background:none;cursor:pointer;font:inherit; }
fieldset { min-width:0;margin:0;padding:0;border:0; }.locked-note { margin:12px 23px 0; }
.settings-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start; }.settings-grid .form-card{width:100%}
.template-list,.dispatch-list { display:grid;gap:8px;margin-top:18px;padding-top:15px;border-top:1px solid var(--slate-200); }.template-list span,.dispatch-list span{display:grid;padding:9px;background:var(--slate-100);border-radius:8px}.template-list b,.dispatch-list b{font-size:.72rem}.template-list small,.dispatch-list small{margin-top:2px;color:var(--slate-500);font-size:.64rem}
.send-form { display:grid;gap:10px;margin-top:14px; }
.alert { margin-bottom:16px;padding:12px 14px;border-radius:9px;font-size:.79rem;transition:.4s; }.alert-success { color:#176b4d;background:var(--green-100);border:1px solid #bcebd8; }.alert-danger { color:#9a3434;background:var(--red-100);border:1px solid #f6caca; }.alert-warning { color:#805b12;background:#fff4d6;border:1px solid #f1d88c; }.alert.fade-out { opacity:0;transform:translateY(-5px); }
.login-body,.install-body { min-height:100vh;background:#eef3f7; }.login-shell { display:grid;grid-template-columns:minmax(400px,1.15fr) minmax(400px,.85fr);min-height:100vh; }.login-visual { position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:45px clamp(40px,6vw,90px);color:#fff;background:linear-gradient(135deg,#071827,#103a57); }.login-visual::after { content:"";position:absolute;width:520px;height:520px;right:-180px;bottom:-190px;border:80px solid rgba(105,224,176,.06);border-radius:50%; }.login-brand { position:relative;z-index:1;display:flex;align-items:center;gap:12px; }.login-message { position:relative;z-index:1;max-width:650px; }.login-message h1 { margin:15px 0;font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.03;letter-spacing:-.065em; }.login-message h1 em { color:#69e0b0;font-style:normal; }.login-message > p { max-width:500px;color:#aec2d1;font-size:1rem;line-height:1.7; }.login-stats { display:flex;gap:25px;margin-top:35px; }.login-stats span { display:grid;color:#a9bdcc;font-size:.7rem; }.login-stats b { color:#69e0b0;font-size:.68rem; }.login-visual > small { position:relative;z-index:1;color:#6f8ca1; }
.login-panel { display:grid;place-items:center;padding:35px;background:#fff; }.login-form { width:min(390px,100%); }.login-form h2 { margin:7px 0;font-size:1.8rem;letter-spacing:-.04em; }.login-form > p { margin:0 0 28px;color:var(--slate-500); }.login-form .field { margin-top:16px; }.login-form .btn { margin-top:20px;min-height:47px; }.password-wrap { position:relative; }.password-wrap input { padding-right:75px; }.password-wrap button { position:absolute;right:5px;top:5px;height:32px;padding:0 8px;color:var(--blue-600);background:transparent;border:0;font-size:.69rem;font-weight:700;cursor:pointer; }.login-help { display:block;margin-top:22px;color:var(--slate-500);text-align:center; }
.install-shell { display:grid;grid-template-columns:minmax(300px,.75fr) minmax(500px,1.25fr);width:min(1120px,calc(100% - 40px));margin:40px auto;overflow:hidden;background:#fff;border:1px solid var(--slate-200);border-radius:20px;box-shadow:0 25px 65px rgba(15,38,60,.13); }.install-brand { padding:50px;color:#fff;background:linear-gradient(145deg,var(--navy-950),#164969); }.install-brand h1 { margin:16px 0;font-size:2.3rem;line-height:1.1; }.install-brand > p { color:#b1c5d3;line-height:1.7; }.install-list { display:grid;gap:10px;margin:30px 0 0;padding:0;list-style:none; }.install-list li::before { content:"✓";margin-right:8px;color:#69e0b0;font-weight:800; }.install-card { padding:45px; }.install-card h2 { margin-top:0; }.divider { height:1px;background:var(--slate-200); }.success-icon { display:grid;place-items:center;width:65px;height:65px;margin-bottom:18px;color:#fff;background:var(--green-600);border-radius:50%;font-size:2rem; }
.sidebar-backdrop { display:none; }

@media (max-width: 1150px) {
  .metric-grid { grid-template-columns:repeat(2,1fr); }
  .cards-grid { grid-template-columns:repeat(2,1fr); }
  .detail-grid { grid-template-columns:1fr; }.detail-side { grid-template-columns:repeat(2,1fr); }.detail-side .side-card:last-child{grid-column:span 2}
}
@media (max-width: 820px) {
  .sidebar { transform:translateX(-100%);transition:transform .22s ease; }.menu-open .sidebar{transform:translateX(0)}
  .sidebar-backdrop { position:fixed;inset:0;z-index:25;background:rgba(3,15,24,.55); }.menu-open .sidebar-backdrop{display:block}
  .app-main { margin-left:0; }.mobile-menu{display:block}.topbar{height:66px;padding:0 17px;justify-content:flex-start;gap:12px}.topbar-actions{margin-left:auto}.today{display:none}
  .content{padding:25px 16px 45px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading .btn{width:100%}
  .dashboard-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}
  .detail-side{grid-template-columns:1fr}.detail-side .side-card:last-child{grid-column:auto}.order-hero{flex-direction:column}.order-hero-meta{flex-wrap:wrap}
  .filter-bar,.filters-wide{flex-direction:column}.filters-wide input,.filters-wide select{min-width:0}
  .calendar-day{min-height:115px;padding:5px}.calendar-event small{display:none}.calendar-toolbar{align-items:flex-start;gap:10px}.calendar-nav{flex-wrap:wrap}.calendar-nav strong{min-width:120px}
  .settings-grid{grid-template-columns:1fr}
  .login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh}
  .install-shell{grid-template-columns:1fr}.install-brand{padding:35px}.install-card{padding:30px}
}
@media (max-width: 560px) {
  html{font-size:14px}.metric-grid{grid-template-columns:1fr}.metric-card{min-height:100px}.cards-grid{grid-template-columns:1fr}
  .topbar-context{display:none}.topbar strong{font-size:.84rem}.topbar-actions .btn{font-size:0;width:38px;padding:8px}.topbar-actions .btn .icon{font-size:1rem}
  .form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.form-card{padding:17px}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}
  .order-row{grid-template-columns:48px 1fr}.order-row .priority,.order-row .badge{display:none}
  .order-hero{padding:20px}.order-hero-meta{display:grid;gap:12px}
  .info-grid{grid-template-columns:1fr}.checklist-row{align-items:flex-start;flex-direction:column}.checklist-row > div{width:100%}.checklist-row label{flex:1}.checklist-row label span{text-align:center}
  .upload-bar{grid-template-columns:1fr}.attachment-grid{grid-template-columns:1fr}
  .calendar-toolbar{flex-direction:column}.calendar-weekdays span{font-size:.55rem}.calendar-day{min-height:95px}.calendar-event{font-size:.55rem}.calendar-event b{display:none}.day-number{width:22px;height:22px}
  .week-day{grid-template-columns:70px 1fr}.week-event{grid-template-columns:42px 1fr}.week-event .badge{display:none}
  .day-event{grid-template-columns:65px 1fr}.day-event .badge{display:none}
  .install-shell{width:100%;margin:0;border:0;border-radius:0}.install-brand{display:none}.install-card{padding:25px 17px}.login-panel{padding:25px 18px}
}
@media print {
  body { background:#fff; }
  .sidebar,.topbar,.page-heading .heading-actions,.detail-side,.form-actions,.upload-bar,.sidebar-backdrop { display:none!important; }
  .app-main { margin:0; }
  .content { width:100%;padding:0; }
  .panel,.order-hero { box-shadow:none;break-inside:avoid; }
  .detail-grid { display:block; }
  .detail-main { gap:12px; }
  .order-hero { color:#111;background:#f2f5f7;border:1px solid #ccd5dd; }
  .order-hero p,.order-hero-meta small { color:#526575; }
  input,select,textarea { border-color:#ccd5dd; }
}
