:root{
  --bg:#e9edf3;
  --bg-deep:#d9e0ea;
  --panel:#f8fafc;
  --panel-strong:#ffffff;
  --panel-tint:#eef3f8;
  --ink:#162033;
  --muted:#617089;
  --line:rgba(22,32,51,.10);
  --line-strong:rgba(22,32,51,.16);
  --accent:#1f6feb;
  --accent-strong:#184fb4;
  --accent-soft:rgba(31,111,235,.12);
  --success:#12715b;
  --warning:#b06711;
  --danger:#a03434;
  --nav:#0f1727;
  --nav-soft:#16233a;
  --radius-xl:28px;
  --radius-lg:20px;
  --radius-md:14px;
  --radius-sm:10px;
  --shadow-lg:0 24px 60px rgba(19,31,53,.12);
  --shadow-md:0 14px 28px rgba(19,31,53,.08);
  --shadow-sm:0 8px 18px rgba(19,31,53,.06);
  --font-ui:"IBM Plex Sans","Segoe UI",Arial,sans-serif;
  --font-display:"Manrope","IBM Plex Sans","Segoe UI",Arial,sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:
  radial-gradient(circle at top left, rgba(31,111,235,.12), transparent 28%),
  radial-gradient(circle at 100% 20%, rgba(18,113,91,.10), transparent 22%),
  linear-gradient(180deg, var(--bg) 0%, #f4f7fb 100%);
  color:var(--ink);font-family:var(--font-ui);font-size:14px;line-height:1.4}
button,input,select,textarea{font:inherit}
a{color:var(--accent-strong);text-decoration:none}
a:hover{text-decoration:underline}
.hidden{display:none!important}
.muted{color:var(--muted)}
.small{font-size:12px}
.nowrap{white-space:nowrap}
.fileinput{display:none}

.login-wrap{min-height:100vh;display:grid;place-items:center;padding:28px;position:relative;overflow:hidden;background:
  radial-gradient(circle at 20% 20%, rgba(45,212,191,.18), transparent 30%),
  radial-gradient(circle at 80% 0%, rgba(31,111,235,.22), transparent 34%),
  linear-gradient(145deg, #08101d 0%, #10213c 48%, #153053 100%)}
.login-aurora{position:absolute;inset:auto -10% -20% auto;width:48vw;height:48vw;border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.16), transparent 62%);filter:blur(20px);animation:floatGlow 14s ease-in-out infinite}
.login-card{position:relative;z-index:1;width:min(450px,100%);padding:34px;border-radius:30px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);box-shadow:0 32px 80px rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.44);animation:riseIn .6s ease}
.login-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(15,23,39,.08);color:#334155;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.login-card h1{margin:14px 0 8px;font:800 34px/1.02 var(--font-display);letter-spacing:-.04em}
.login-card p{margin:0 0 18px;color:#56657d;max-width:38ch}
.login-card label{display:block;margin-top:14px;font-size:12px;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.06em}
.login-card input{width:100%;margin-top:7px;padding:13px 14px;border-radius:14px;border:1px solid rgba(22,32,51,.14);background:#fff;outline:none;transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease}
.login-card input:focus{border-color:rgba(31,111,235,.42);box-shadow:0 0 0 4px rgba(31,111,235,.12);transform:translateY(-1px)}

.app-shell{display:grid;grid-template-columns:340px minmax(0,1fr);min-height:100vh;gap:20px;padding:18px}
.nav-rail{position:sticky;top:18px;height:calc(100vh - 36px);overflow:auto;padding:22px 18px 20px;border-radius:30px;background:linear-gradient(180deg, var(--nav) 0%, var(--nav-soft) 100%);color:#e8eef7;box-shadow:var(--shadow-lg)}
.nav-rail::-webkit-scrollbar{width:8px}
.nav-rail::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:999px}
.brand-block{padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:18px}
.brand-topline{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#8ea0bd;margin-bottom:12px}
.brand-row{display:flex;gap:14px;align-items:flex-start}
.logo{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;font-weight:900;color:#fff;background:linear-gradient(135deg, #3eb9ff 0%, #1f6feb 58%, #1740ae 100%);box-shadow:0 16px 30px rgba(31,111,235,.34)}
.logo.big{width:58px;height:58px;font-size:20px}
.brand-row h1{margin:0;font:800 20px/1 var(--font-display);letter-spacing:-.04em}
.brand-row p{margin:6px 0 0;color:#8ea0bd;font-size:13px;max-width:22ch}

.rail-tabs{display:grid;gap:8px;margin-bottom:18px}
.rail-tab{padding:13px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#e8eef7;text-align:left;cursor:pointer;transition:transform .18s ease, background .18s ease, border-color .18s ease}
.rail-tab:hover{transform:translateX(3px);background:rgba(255,255,255,.08)}
.rail-tab.active{background:linear-gradient(135deg, rgba(31,111,235,.34), rgba(31,111,235,.12));border-color:rgba(82,157,255,.42);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.rail-tab-label{display:block;font-weight:800;letter-spacing:-.02em}
.rail-tab-meta{display:block;margin-top:3px;font-size:12px;color:#9fb0c9}

.rail-section{padding:16px 0;border-top:1px solid rgba(255,255,255,.08)}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.section-heading span:first-child{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#b9c6d9}
.section-chip{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:rgba(62,185,255,.16);color:#bfe3ff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.section-chip.neutral{background:rgba(255,255,255,.08);color:#dbe4f2}
.field{margin:0 0 10px}
.field label{display:block;margin-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#92a4c1}
.field input,.field select,.field textarea,.edit-panel input,.edit-panel select,.edit-panel textarea,.modal-form input,.modal-form select,.modal-form textarea{
  width:100%;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);outline:none;transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease
}
.nav-rail .field input,.nav-rail .field select,.nav-rail .field textarea{
  background:rgba(10,16,28,.48);border-color:rgba(255,255,255,.10);color:#edf3fb
}
.field input:focus,.field select:focus,.field textarea:focus,.edit-panel input:focus,.edit-panel select:focus,.edit-panel textarea:focus,.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{
  border-color:rgba(31,111,235,.38);box-shadow:0 0 0 4px rgba(31,111,235,.10);transform:translateY(-1px)
}
.field-grid{display:grid;gap:10px}
.field-grid.two{grid-template-columns:1fr 1fr}
.filter-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin-top:8px}
.filter-checks label{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.04);color:#d8e0ed;font-size:12px}
.filter-checks input{accent-color:#4eb8ff;margin-top:2px}
.stack-actions{display:grid;gap:8px}
.smallnote{margin:12px 0 0;font-size:12px;line-height:1.45;color:#93a5bf}

.btn{border:0;border-radius:12px;padding:10px 13px;background:#dbe4ef;color:#162033;cursor:pointer;font-weight:800;transition:transform .18s ease, box-shadow .18s ease, filter .18s ease}
.btn:hover{transform:translateY(-1px);filter:brightness(.99)}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn.primary{background:linear-gradient(135deg, var(--accent) 0%, #2563eb 100%);color:#fff;box-shadow:0 12px 24px rgba(31,111,235,.22)}
.btn.dark{background:#152238;color:#edf3fb;border:1px solid rgba(255,255,255,.08)}
.btn.ghost{background:transparent;color:inherit;border:1px solid currentColor;opacity:.86}
.btn.danger{background:#fee2e2;color:#8f1f1f}
.btn.small{padding:7px 9px;border-radius:10px;font-size:12px}
.btn.full{width:100%}
.btn.link{background:transparent;padding:0;color:var(--accent-strong)}

.workspace{min-width:0;display:flex;flex-direction:column;gap:18px;padding:4px 4px 24px}
.workspace-topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:8px 6px 0}
.topbar-copy h2{margin:6px 0 6px;font:800 clamp(28px,3vw,42px)/1 var(--font-display);letter-spacing:-.05em;max-width:14ch}
.topbar-copy p{margin:0;color:var(--muted);font-size:15px}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#6d7f98}
.topbar-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}
.sync-pill,.userbox{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(22,32,51,.08);box-shadow:var(--shadow-sm);font-weight:700;color:#364257}
.sync-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.12);animation:pulseDot 2s ease infinite}

.summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.summary-card{padding:18px;border-radius:24px;background:rgba(255,255,255,.78);backdrop-filter:blur(12px);border:1px solid rgba(22,32,51,.08);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.summary-card::after{content:"";position:absolute;inset:auto -20% -60% auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle, rgba(31,111,235,.10), transparent 66%)}
.summary-card-accent{background:linear-gradient(145deg, #16315d 0%, #1d4f95 100%);color:#eef5ff}
.summary-card-accent .summary-label,.summary-card-accent p{color:#cad7ea}
.summary-label{display:block;margin-bottom:10px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#70819c}
.summary-card strong{display:block;font:800 20px/1.05 var(--font-display);letter-spacing:-.04em}
.summary-card p{margin:8px 0 0;color:#5f708b;max-width:36ch}

.view-shell{display:flex;flex-direction:column;gap:14px}
.panel{background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border:1px solid rgba(22,32,51,.08);border-radius:26px;box-shadow:var(--shadow-sm);padding:18px;min-width:0}
.panel h3{margin:0 0 10px;font:800 17px/1.1 var(--font-display);letter-spacing:-.03em}
.panel .hint{margin:-2px 0 12px;color:var(--muted);font-size:13px}

.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.kpi{padding:16px 16px 18px;border-radius:22px;background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(241,246,251,.94));border:1px solid rgba(22,32,51,.07);box-shadow:var(--shadow-sm);transform:translateY(8px);opacity:0;animation:riseIn .45s ease forwards}
.kpi:nth-child(2){animation-delay:.04s}
.kpi:nth-child(3){animation-delay:.08s}
.kpi:nth-child(4){animation-delay:.12s}
.kpi:nth-child(5){animation-delay:.16s}
.kpi small{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#6c7d97}
.kpi strong{display:block;margin-top:10px;font:800 34px/1 var(--font-display);letter-spacing:-.06em}
.kpi span{display:block;margin-top:8px;color:#5f708b}

.view-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.view-header-copy h3{margin:0 0 6px}
.view-header-copy p{margin:0;color:var(--muted)}
.view-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.meta-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;background:var(--panel-tint);border:1px solid rgba(22,32,51,.06);color:#415168;font-size:12px;font-weight:700}

.task-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.task-col,.lane{padding:14px;border-radius:22px;background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(242,246,250,.92));border:1px solid rgba(22,32,51,.07);min-height:260px}
.task-col h3,.lane h4{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px;font:800 15px/1 var(--font-display)}
.task-col h3 span,.lane h4 span{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#e6edf7;color:#4b5c74;font-size:12px}
.card{padding:12px 13px;border-radius:18px;background:#fff;border:1px solid rgba(22,32,51,.08);box-shadow:0 8px 18px rgba(19,31,53,.06);cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.card + .card{margin-top:10px}
.card:hover{transform:translateY(-2px);border-color:rgba(31,111,235,.28);box-shadow:0 16px 28px rgba(19,31,53,.10)}
.card-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:8px}
.card-title{font-weight:800;letter-spacing:-.02em}
.card-meta{font-size:12px;color:#65748b}
.card-row{margin:7px 0}
.card-footer{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:8px}
.card-next{font-size:12px;color:#47556a}

.table-shell{display:grid;gap:12px}
.table-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.table-toolbar-copy p,.table-toolbar-copy h3{margin:0}
.table-toolbar-copy p{margin-top:6px;color:var(--muted)}
.table-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.table-wrap{overflow:hidden;border-radius:26px;background:rgba(255,255,255,.9);border:1px solid rgba(22,32,51,.08);box-shadow:var(--shadow-sm)}
.table-top{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid rgba(22,32,51,.06);background:linear-gradient(180deg, #f8fbfe 0%, #eff4f9 100%)}
.table-top b{font:800 15px/1 var(--font-display)}
.table-top span{color:#5d6e87}
.table-scroll{max-height:67vh;overflow:auto}
table{width:100%;border-collapse:separate;border-spacing:0}
th,td{padding:12px 10px;border-bottom:1px solid rgba(22,32,51,.06);vertical-align:top;text-align:left}
th{position:sticky;top:0;z-index:4;background:#f4f8fc;color:#556783;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
tr{transition:background .18s ease}
tr:hover td{background:rgba(31,111,235,.03)}
.brandcell{font-weight:800;min-width:240px}
.truncate{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini{font-size:12px;color:#67768d}
.openbtn{padding:7px 10px;border-radius:10px;border:1px solid rgba(31,111,235,.18);background:var(--accent-soft);color:var(--accent-strong);cursor:pointer;font-weight:800}
.star{background:transparent;border:0;color:#c3cddd;font-size:20px;cursor:pointer}
.star.on{color:#f59e0b}

.tag{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:#e7eef8;color:#33506d;font-size:11px;font-weight:800;letter-spacing:.02em;margin:2px 4px 2px 0}
.tag.a{background:#dff6ec;color:#12664f}
.tag.b{background:#dfe9ff;color:#2250a8}
.tag.c{background:#fff0d4;color:#99610d}
.tag.d{background:#fde0e0;color:#9c3030}
.tag.gray{background:#eef2f6;color:#55657a}
.tag.hot{background:#e4f0ff;color:#1f5ebf}
.tag.mass{background:#edf2f9;color:#5e7088}
.status-pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef2f6;color:#4d5d72;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.status-hot{background:#fde8e8;color:#9b3232}
.status-work{background:#e4edff;color:#2152b4}
.status-win{background:#dcf6e8;color:#13684f}
.status-pause{background:#fff2d9;color:#9b6110}

.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.board .card{background:linear-gradient(180deg, #fff 0%, #f8fbff 100%)}

.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.barrow{display:grid;grid-template-columns:170px 1fr 48px;gap:9px;align-items:center;margin:8px 0}
.barlabel{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#334255}
.bar{height:12px;background:#e5ebf3;border-radius:999px;overflow:hidden}
.bar i{display:block;height:100%;background:linear-gradient(90deg, var(--accent) 0%, #56b0ff 100%);border-radius:999px}
.barvalue{text-align:right;color:#5e6d85;font-variant-numeric:tabular-nums}

.construction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pipeline-card{padding:16px;border-radius:22px;background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(242,247,252,.96));border:1px solid rgba(22,32,51,.08);box-shadow:var(--shadow-sm);transition:transform .18s ease, box-shadow .18s ease}
.pipeline-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.pipeline-card h4{margin:0 0 10px;font:800 17px/1.05 var(--font-display);letter-spacing:-.03em}
.pipeline-card .meta{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.pipeline-card p{margin:8px 0;color:#334255}
.pipeline-card small,.pipeline-card .mini{color:#66758c}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.empty{padding:34px 18px;text-align:center;color:#69788f}
.pagination{display:flex;gap:10px;align-items:center;justify-content:flex-end}

.drawer-bg{position:fixed;inset:0;background:rgba(8,16,29,.48);backdrop-filter:blur(4px);z-index:40;opacity:0;animation:fadeIn .22s ease forwards}
.drawer{position:fixed;right:0;top:0;width:min(1220px,100vw);height:100vh;background:linear-gradient(180deg, #f6f9fc 0%, #edf3f8 100%);z-index:50;box-shadow:-24px 0 60px rgba(0,0,0,.20);overflow:auto}
.drawer-header{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid rgba(22,32,51,.08);background:rgba(246,249,252,.92);backdrop-filter:blur(12px)}
.drawer-header h2{margin:0;font:800 28px/1 var(--font-display);letter-spacing:-.05em}
.drawer-header p{margin:8px 0 0;color:#5e7088;max-width:80ch}
.drawer-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.92fr);gap:16px;padding:18px 22px 26px}
.action-hero{padding:18px;border-radius:24px;background:linear-gradient(135deg, #16315d 0%, #21559e 58%, #1e6ab6 100%);color:#edf5ff;box-shadow:var(--shadow-md);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:14px}
.action-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#b6d7ff;margin-bottom:10px}
.action-hero-main h3{margin:0;font:800 30px/1 var(--font-display);letter-spacing:-.04em}
.action-hero-main p{margin:8px 0 0;color:#d7e7ff}
.action-inline{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.action-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);font-size:12px}
.action-hero-side{display:grid;gap:10px}
.action-box{padding:14px;border-radius:18px;background:rgba(9,22,44,.28);border:1px solid rgba(255,255,255,.12)}
.action-box span{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#b6d7ff}
.action-box strong{display:block;margin-top:8px;font:800 18px/1.2 var(--font-display);word-break:break-word}
.action-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.action-buttons .btn{flex:1 1 120px}
.action-hero-footer{grid-column:1 / -1;display:grid;gap:8px;padding-top:4px;color:#dceaff}
.loading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.loading-block{height:52px;border-radius:18px;background:linear-gradient(90deg, rgba(226,233,242,.9) 0%, rgba(245,248,252,.96) 50%, rgba(226,233,242,.9) 100%);background-size:200% 100%;animation:loadingPulse 1.1s ease-in-out infinite}
.loading-block.loading-title{height:72px;margin-bottom:12px}
.loading-block.loading-line{height:18px;margin-bottom:10px;border-radius:999px}
.loading-block.loading-line.short{width:62%}
.detail-stack{display:grid;gap:12px}
.detail-section{padding:16px;border-radius:22px;background:rgba(255,255,255,.86);border:1px solid rgba(22,32,51,.08);box-shadow:var(--shadow-sm)}
.detail-section h3{margin:0 0 12px;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#5f7290}
.detail-highlight{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.detail-stat{padding:12px;border-radius:18px;background:#f2f6fb;border:1px solid rgba(22,32,51,.05)}
.detail-stat span{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#71829b}
.detail-stat strong{display:block;margin-top:8px;font:800 18px/1.05 var(--font-display);letter-spacing:-.03em}
.kv{display:grid;grid-template-columns:180px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid rgba(22,32,51,.06)}
.kv:last-child{border-bottom:0}
.kv .k{color:#66768d}
.kv .v{white-space:pre-wrap;overflow-wrap:anywhere}
.edit-panel{display:grid;gap:12px;position:sticky;top:18px}
.copybox{padding:12px;border-radius:16px;background:#f3f7fc;border:1px solid rgba(22,32,51,.08);white-space:pre-wrap;color:#304055;max-height:260px;overflow:auto}
.quick-actions{display:flex;gap:7px;flex-wrap:wrap;margin:6px 0 4px}
.activity{padding:12px;border-radius:16px;background:#f6f9fd;border:1px solid rgba(22,32,51,.06);border-left:4px solid #69a8ff}
.activity + .activity{margin-top:8px}
.activity b{display:block;margin-bottom:4px}
.activity .meta{font-size:12px;color:#66758c;margin-bottom:4px}
.contact-row{padding:11px 12px;border-radius:16px;background:#f7fbff;border:1px solid rgba(22,32,51,.06)}
.contact-row + .contact-row{margin-top:8px}
.contact-row b{display:block;margin-bottom:4px}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.preline{white-space:pre-line}

.toast{position:fixed;right:18px;bottom:18px;padding:12px 14px;border-radius:14px;background:#152238;color:#fff;box-shadow:var(--shadow-lg);opacity:0;transform:translateY(14px);transition:opacity .2s ease, transform .2s ease;z-index:80}
.toast.show{opacity:1;transform:translateY(0)}

.view-enter{animation:softSlide .28s ease}

@keyframes riseIn{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes fadeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes floatGlow{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(-3%,4%,0) scale(1.05)}
}
@keyframes pulseDot{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(34,197,94,.18)}
  60%{transform:scale(1.08);box-shadow:0 0 0 8px rgba(34,197,94,0)}
}
@keyframes softSlide{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes loadingPulse{
  0%{background-position:200% 0}
  100%{background-position:-200% 0}
}

@media (max-width:1360px){
  .app-shell{grid-template-columns:300px minmax(0,1fr)}
  .kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .task-grid,.board{grid-template-columns:1fr 1fr}
  .grid3{grid-template-columns:1fr 1fr}
  .construction-grid{grid-template-columns:1fr}
}

@media (max-width:1080px){
  .app-shell{grid-template-columns:1fr;padding:12px}
  .nav-rail{position:static;height:auto}
  .workspace-topbar,.summary-strip,.drawer-body,.analytics-grid,.grid2,.action-hero{grid-template-columns:1fr}
  .workspace-topbar{display:grid}
  .summary-strip{display:grid}
  .kpis{grid-template-columns:1fr 1fr}
  .drawer{width:100vw}
  .drawer-body{grid-template-columns:1fr}
  .edit-panel{position:static}
}

@media (max-width:760px){
  .app-shell{gap:12px}
  .nav-rail{padding:18px 14px;border-radius:24px}
  .filter-checks,.field-grid.two,.task-grid,.board,.grid3,.grid4,.kpis,.detail-highlight,.formgrid,.loading-grid,.action-hero{grid-template-columns:1fr}
  .workspace{padding:0 0 18px}
  .workspace-topbar{padding:2px}
  .topbar-copy h2{font-size:28px;max-width:none}
  .table-toolbar,.view-header,.topbar-actions,.pagination{flex-direction:column;align-items:stretch}
  .table-toolbar-actions,.view-meta{justify-content:flex-start}
  .table-scroll{max-height:none}
  th,td{padding:10px 8px}
  .brandcell{min-width:200px}
  .kv{grid-template-columns:1fr}
}
