/* ARC Experience System / v1.5
   Design influences: TypeUI enterprise, bento, glassmorphism and spatial styles.
   Native component implementations; no Apple or React Bits source copied.
   Design rules: semantically named tokens, accessible controls, motion with purpose.
*/
:root {
  color-scheme: dark;
  --arc-canvas: #050811;
  --arc-elevation-1: rgba(14, 23, 39, .87);
  --arc-elevation-2: rgba(22, 33, 54, .89);
  --arc-line: rgba(168, 203, 248, .15);
  --arc-line-emphasis: rgba(172, 215, 255, .34);
  --arc-text: #f4f7ff;
  --arc-text-secondary: #afc0d8;
  --arc-text-tertiary: #899bb7;
  --arc-accent: #85baff;
  --arc-accent-2: #9f91ff;
  --arc-success: #68dfbd;
  --arc-danger: #ff9faa;
  --arc-warning: #f9c98f;
  --arc-radius-sm: 10px;
  --arc-radius-md: 16px;
  --arc-radius-lg: 24px;
  --arc-radius-xl: 32px;
  --arc-space: 8px;
  --arc-ease: cubic-bezier(.22,1,.36,1);
  --arc-glass: linear-gradient(138deg,rgba(34,48,77,.68),rgba(10,17,29,.86));
  --arc-shadow: 0 22px 72px rgba(0, 4, 14, .42), inset 0 1px rgba(255,255,255,.095);
}
html {scrollbar-color:rgba(152,183,228,.26) transparent}
body {background:var(--arc-canvas); color:var(--arc-text);}
body::after {content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:url('/assets/spatial-grid.svg');background-position:center top;background-size:1150px 1150px;opacity:.12;mask-image:linear-gradient(to bottom,black,transparent 85%)}
.app-shell::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 600px 350px at 56% 0%,rgba(57,102,178,.085),transparent)}
/* High-density functional navigation. Clear keyboard focus and pointer targets. */
.sidebar {width:278px; padding:26px 15px 18px; background:rgba(7,12,23,.93);border-right:1px solid var(--arc-line);}
.sidebar .brand{padding:6px 9px 26px;gap:12px;align-items:center}
.sidebar .brand-logo,.login .brand-logo {width:42px;height:42px;font-size:0;border:1px solid #bfceff66;border-radius:14px;background:#182644 url('/assets/arc-mark.svg') center / 29px no-repeat;box-shadow:0 8px 35px #6389d72b,inset 0 1px #ffffff4b}
.sidebar .brand .strong {font-size:14px;letter-spacing:-.035em;white-space:nowrap}
.sidebar .brand small {font-size:9px;letter-spacing:.145em}
.sidebar .nav-label {font-weight:700;letter-spacing:.22em;color:#93a7c8;padding:18px 13px 9px;margin:0}
.sidebar #menu {scrollbar-width:thin;scrollbar-color:#52668855 transparent}
.navitem{border-radius:13px;position:relative;min-height:45px;padding:12px 13px;font-size:12.8px;font-weight:530;gap:13px;color:#a0b0c9}
.navitem.on{background:linear-gradient(98deg,rgba(82,116,190,.32),rgba(32,46,80,.40));border-color:rgba(150,198,255,.23);box-shadow:0 8px 30px #0002,inset 0 1px #ffffff13}
.navitem.on::before{content:"";width:3px;height:20px;background:#9dd1ff;position:absolute;left:-2px;top:calc(50% - 10px);border-radius:999px;box-shadow:0 0 17px #65baff}
.navitem:hover{background:#a0bfff13;transform:translateX(3px)}
.navitem:active {transform:translateX(1px) scale(.99)}
.sidebar-bottom .user-mini{background:rgba(86,125,190,.09);padding:10px;border:1px solid var(--arc-line);border-radius:15px}
.main{padding:0 clamp(20px,2.9vw,54px) 82px;max-width:2400px}
.topbar{height:86px;border-bottom:1px solid rgba(181,211,250,.11);backdrop-filter:blur(22px)}
.crumb{color:#7e91ac;font-size:12px}.crumb strong{font-size:13px;color:#eef6ff}
.top-status{border-radius:100px;padding:8px 11px;border:1px solid #b2c9eb20;background:#87aefa09;font-size:11px}
.arc-control,.top-actions .btn.slim{min-height:40px;border-radius:12px;background:rgba(152,181,231,.07);border:1px solid var(--arc-line);color:var(--arc-text-secondary)}
.arc-search{min-width:205px}
.arc-search:hover,.arc-control:hover{border-color:var(--arc-line-emphasis);background:rgba(125,167,255,.13)}
.content{max-width:1660px;padding-top:30px}
/* Shared surface grammar used by all app screens (not just the landing). */
.panel,.modal,.arc-dashboard-card,.stat{background:var(--arc-glass);border:1px solid var(--arc-line);border-radius:var(--arc-radius-lg);box-shadow:var(--arc-shadow)}
.panel {padding:clamp(17px,2vw,28px)}
.panel::before,.arc-dashboard-card::before {content:"";position:absolute;pointer-events:none;inset:0;border-radius:inherit;background:linear-gradient(132deg,rgba(255,255,255,.055),transparent 25%,transparent 80%,rgba(102,142,222,.05));z-index:0}
.panel,.arc-dashboard-card {position:relative;isolation:isolate}
.panel > *,.arc-dashboard-card > * {position:relative;z-index:1}
.panel-title{font-size:17px;color:#eef6ff}
.headrow{align-items:center;gap:16px}.page-title{font-size:clamp(28px,3vw,41px);letter-spacing:-.065em;line-height:1.17}.intro{font-size:13px;color:var(--arc-text-secondary);line-height:1.85}
.eyebrow{font-size:10px;color:var(--arc-accent);letter-spacing:.23em}
.btn{font-weight:600;min-height:40px;padding:9px 14px;border-radius:12px;border:1px solid var(--arc-line);position:relative;isolation:isolate;overflow:hidden;color:#d7e9ff;background:rgba(121,164,235,.1);transition:transform .28s var(--arc-ease),box-shadow .28s ease,background .18s ease,border-color .18s ease}
.btn:disabled{opacity:.46;cursor:not-allowed;filter:saturate(.5)}
.btn.primary {background:linear-gradient(115deg,#9ad4ff,#8faaff 53%,#ac9aff)!important;color:#0c1930!important;border-color:#d4eaff70!important;box-shadow:0 12px 35px #6c97e73e,inset 0 1px #ffffffa0!important}
.btn.primary:hover:not(:disabled){box-shadow:0 14px 48px #83baff69,inset 0 1px #ffffffba!important;transform:translateY(-2px)}
.btn.danger{color:#ffc2cb;background:#6c25351f;border-color:#e8899d42}
.btn:not(:disabled)::after{content:"";position:absolute;inset:-150% 55% -150% -55%;transform:translateX(-120%) rotate(24deg);background:linear-gradient(90deg,transparent,#fff2,transparent);pointer-events:none;transition:transform .7s var(--arc-ease)}
.btn:not(:disabled):hover::after{transform:translateX(230%) rotate(24deg)}
.btn.arc-btn-ghost{background:#b4cfff0a;border:1px solid #a5caf23b;backdrop-filter:blur(14px)}
.btn:focus-visible,.navitem:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #b0d8ff!important;outline-offset:3px!important}
.field label{font-size:12px;color:#b6c8e0;display:block;margin-bottom:7px}
.field input,.field select,.field textarea, input:not([type=checkbox]),textarea,select {border-radius:12px;transition:border-color .15s ease,box-shadow .15s ease}
input:focus,textarea:focus,select:focus{border-color:#9bccff70!important;box-shadow:0 0 0 4px #8cbeff12}
.table-scroll {border:1px solid #b1d0ff18;background:#060e1a7a;border-radius:15px;scrollbar-width:thin}
.data-table th{padding-block:15px;text-transform:uppercase;font-size:10px;letter-spacing:.14em;color:#9aafc9;background:#adcfff08;white-space:nowrap}
.data-table td{padding-block:15px;color:#c5d6ec;font-size:12px}
.data-table tr:hover td{background:rgba(137,177,233,.07)}
.tag,.arc-chip {border-radius:99px;letter-spacing:.015em}
.overlay{backdrop-filter:blur(15px)}.modal{border-radius:25px;max-height:calc(100dvh - 40px);overflow-y:auto}
/* Experience first: immersive hero uses a dedicated 3D spatial composition. */
.arc-hero{border-radius:30px;min-height:470px;overflow:hidden;background:radial-gradient(ellipse 62% 86% at 87% 41%,rgba(65,94,165,.28),transparent 73%),linear-gradient(117deg,#0d1b30 2%,#080e1b 67%,#0d1126);border:1px solid rgba(171,210,252,.22);box-shadow:0 30px 105px #0009,inset 0 1px #ffffff1e;perspective:1300px}
.arc-hero::before{content:"";pointer-events:none;position:absolute;inset:0;background:url('/assets/aurora-film.webp') right center/cover no-repeat;opacity:.22;mix-blend-mode:screen}
.arc-hero::after{content:"";position:absolute;pointer-events:none;inset:0;background:linear-gradient(90deg,#0b1629c4 5%,transparent 74%)}
.arc-hero-copy{position:relative;z-index:4;padding-left:clamp(30px,4.4vw,70px);padding-top:clamp(52px,4.5vw,79px);max-width:59%}
.arc-hero-overline{letter-spacing:.24em;font-size:10px;color:#a8c7e9}
.arc-hero h1{font-size:clamp(42px,4.7vw,74px);letter-spacing:-.075em;line-height:1.13;text-shadow:0 9px 40px #061427a0;font-weight:680;margin:22px 0 20px}
.arc-hero-copy>p{line-height:1.9;color:#b6c7df;font-size:13.5px;max-width:455px}
.arc-hero-actions{margin-top:30px}
.arc-visual{width:58%;right:-3%;height:94%;top:0;isolation:isolate;transform-style:preserve-3d}
.arc-visual::before{content:"";position:absolute;z-index:0;width:70%;height:70%;left:18%;top:12%;border-radius:50%;border:1px solid #85b7ff22;box-shadow:0 0 60px 4px #609ae915, inset 0 0 75px #6fa3ff10;transform:rotateX(68deg) rotateZ(-18deg);pointer-events:none}
.arc-visual-glow{filter:saturate(.88) hue-rotate(7deg);opacity:.85;transform:translateZ(-45px)}
.arc-visual canvas{filter:drop-shadow(0 0 18px #7ab4ff20)}
.arc-visual-core{border:1px solid #cfeaff62;background:radial-gradient(circle at 42% 25%,#4e76b665,#071326 73%);box-shadow:0 0 95px #719fff3a,0 0 35px #a5cfff29,inset 0 1px 18px #ffffff1d}
.arc-hero-footer{z-index:6;background:#071322b8;backdrop-filter:blur(14px);border-top:1px solid #9bc8ff1e}
.arc-hero-footer strong{font-size:18px}.arc-hero-footer span{letter-spacing:.12em}
.arc-kpi{border-color:var(--arc-line);background:linear-gradient(146deg,#17253c99,#0d1625d9);border-radius:20px;box-shadow:var(--arc-shadow);transition:border-color .25s ease,transform .32s var(--arc-ease),box-shadow .32s}
.arc-kpi:hover{transform:translateY(-5px);border-color:#9dc4f64c;box-shadow:0 24px 58px #0009,0 0 0 1px #86bfff0d}
.arc-kpi:focus-visible{outline:2px solid #a9d4ff;outline-offset:4px}
.arc-kpi strong{font-variant-numeric:tabular-nums;letter-spacing:-.065em}
.arc-dashboard-card{transition:border-color .3s ease,transform .3s var(--arc-ease)}
.arc-dashboard-card:hover{border-color:#b8d2ff39}
.arc-card-heading h3{letter-spacing:-.045em}
.arc-card-action{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;border:1px solid var(--arc-line);color:#b8d8f8;background:#a6ccff0c;transition:transform .3s var(--arc-ease),background .15s}
.arc-card-action:hover{background:#a6ccff2a;transform:rotate(-10deg) translateY(-2px)}
.arc-chart-svg path[stroke="#6cbdff"]{stroke-dasharray:800;stroke-dashoffset:0;filter:drop-shadow(0 0 6px #6cbdff3c)}
/* Spatial resource stream: real counts only, no invented capacity percentages. */
.arc-flow-panel{margin-top:17px;border:1px solid #b3d2ff26;border-radius:25px;overflow:hidden;background:linear-gradient(124deg,#0e1b2fc9,#10182dc4);box-shadow:var(--arc-shadow);position:relative}
.arc-flow-panel::before{content:"";position:absolute;inset:0;background:url('/assets/spatial-grid.svg') center /800px;opacity:.11;pointer-events:none}
.arc-flow-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:28px 30px 10px;gap:18px}
.arc-flow-kicker{font-size:10px;letter-spacing:.22em;color:#8ebaf1;margin:0 0 8px;font-weight:700}
.arc-flow-header h3{font-weight:650;font-size:21px;margin:0;letter-spacing:-.04em}
.arc-flow-legend{display:flex;align-items:center;gap:9px;color:#96abc5;font-size:10px}
.arc-flow-legend::before{content:"";width:7px;height:7px;border-radius:50%;background:#66dab6;box-shadow:0 0 10px #66dab6b0}
.arc-flow-view{padding:36px 42px 49px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:6%;position:relative;perspective:1100px}
.arc-flow-view::before,.arc-flow-view::after{content:"";position:absolute;top:50%;left:27%;width:17%;height:1px;background:linear-gradient(90deg,transparent,#9cd5ff92,transparent);filter:drop-shadow(0 0 6px #82b8ff)}
.arc-flow-view::after{left:61%}
.arc-flow-node{min-height:166px;isolation:isolate;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:23px 21px;border-radius:19px;border:1px solid #a9caff32;background:linear-gradient(142deg,rgba(42,64,100,.73),rgba(13,22,41,.89));box-shadow:0 16px 37px #0006,inset 0 1px #ffffff1c;transform-style:preserve-3d;transition:border-color .25s}
.arc-flow-node:hover{border-color:#91caff88}
.arc-flow-node::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--mx,50%) var(--my,0%),#94ceff22,transparent 60%)}
.arc-flow-node .arc-node-index{font-size:10px;color:#94b0d5;letter-spacing:.16em;position:relative}
.arc-flow-node strong{font-size:clamp(28px,3.3vw,42px);line-height:1;font-weight:600;letter-spacing:-.07em;color:#f0f9ff;position:relative;font-variant-numeric:tabular-nums}
.arc-flow-node .arc-node-title{font-size:13px;position:relative;color:#c8ddf6}
.arc-flow-node .arc-node-unit{font-size:10px;color:#849fbe;position:relative}
.arc-flow-note{padding:0px 30px 25px;margin:0;font-size:11px;color:#849fbc}
/* Motion and theme accessibility */
.arc-reveal-ready{opacity:0;transform:translateY(23px)}
.arc-content-loading{position:relative;min-height:180px}
.arc-loading-bar{height:3px;width:100%;position:absolute;left:0;top:0;overflow:hidden;border-radius:4px;background:#6b84a01a}
.arc-loading-bar::before{content:"";position:absolute;inset:0;width:35%;background:linear-gradient(90deg,transparent,#8dc2ff,transparent);animation:arc-loading 1.3s ease-in-out infinite}
@keyframes arc-loading{from{transform:translateX(-100%)}to{transform:translateX(360%)}}
.arc-ripple{position:absolute;z-index:5;border-radius:50%;transform:translate(-50%,-50%) scale(0);pointer-events:none;background:#d6eaff33;animation:arc-ripple .68s ease-out forwards}
@keyframes arc-ripple{to{transform:translate(-50%,-50%) scale(1);opacity:0}}
.arc-palette-chip{display:inline-flex;gap:7px;align-items:center;padding:8px 11px;border:1px solid #a4c5f72b;border-radius:999px;background:#94bfff0d;color:#b5c7e4;font-size:11px}
.arc-palette-chip i{width:8px;height:8px;border-radius:50%}
.arc-motion-lab{margin-top:17px;display:grid;grid-template-columns:1fr 1fr;gap:15px}
.arc-motion-card{position:relative;overflow:hidden;min-height:230px;border:1px solid var(--arc-line);border-radius:22px;background:linear-gradient(130deg,#17283dd1,#091224eb);padding:23px}
.arc-motion-card h3{margin:0 0 8px;font-size:18px}.arc-motion-card p{color:#96abc5;font-size:12px;line-height:1.8}
.arc-motion-card .arc-motion-label{font-size:9px;letter-spacing:.2em;color:#86b8ed;margin:0 0 14px}
.arc-spotlight-card::after{content:"";inset:0;position:absolute;pointer-events:none;opacity:0;transition:opacity .28s;background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),#9dcfff26,transparent 70%)}
.arc-spotlight-card:hover::after,.arc-spotlight-card:focus-within::after{opacity:1}
.arc-motion-card>*{position:relative;z-index:1}
.arc-float-block{height:80px;width:80px;margin:20px 0 0 17px;transform:rotateX(20deg) rotateY(-25deg);background:linear-gradient(140deg,#8ebdffcc,#686cdd55);box-shadow:17px 17px 15px #0005,inset 0 0 0 1px #deecff88;border-radius:20px;transform-style:preserve-3d;transition:transform .45s var(--arc-ease)}
.arc-motion-card:hover .arc-float-block{transform:rotateX(-16deg) rotateY(27deg) translateY(-12px) scale(1.08)}
.arc-motion-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.arc-motion-actions button{min-height:40px}
.arc-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:12px;color:#c5d8f2}
.arc-toggle input{accent-color:#8cb9ff;width:18px;height:18px}
.arc-spatial-note{font-size:11px;color:#9fb3cd;margin:17px 0 2px;line-height:1.8}
/* Reduced-motion preferences override animated component effects. */
@media(prefers-reduced-motion:reduce){.arc-reveal-ready{opacity:1;transform:none}.arc-ripple{animation:none}.arc-loading-bar::before{animation:none}.arc-hero,.arc-flow-node,.arc-kpi,.btn,.arc-motion-card{transition:none!important}}
@media(max-width:1100px){.arc-flow-view{gap:3%;padding:24px 24px 32px}.arc-flow-node{padding:18px 15px;min-height:144px}.arc-flow-view::before{left:26%;width:18%}.arc-flow-view::after{left:62%;width:16%}.arc-hero-copy{max-width:68%}}
@media(max-width:790px){.arc-hero{min-height:566px}.arc-hero-copy{max-width:100%;padding:34px 27px 90px}.arc-hero h1{font-size:clamp(37px,6.7vw,54px)}.arc-visual{height:55%;width:94%;right:-29%;top:36%}.arc-flow-view{grid-template-columns:1fr;gap:13px;padding:20px 25px}.arc-flow-node{min-height:102px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px}.arc-flow-node strong{grid-column:2;grid-row:1/4;font-size:34px}.arc-flow-view::before,.arc-flow-view::after{display:none}.arc-flow-header{padding:23px 25px 10px}.arc-motion-lab{grid-template-columns:1fr}.arc-flow-note{padding:0 25px 20px}}
@media(max-width:520px){.main{padding:0 15px 55px}.topbar{height:71px}.content{padding-top:15px}.arc-hero{border-radius:23px;min-height:580px}.arc-hero-copy{padding:29px 23px 92px}.arc-hero h1{font-size:clamp(34px,9.2vw,45px)}.arc-hero-actions{margin-top:20px}.arc-visual{width:120%;height:51%;right:-30%;top:44%}.arc-flow-panel{border-radius:19px}.arc-flow-header{align-items:flex-start;flex-direction:column;gap:10px}.arc-flow-view{padding:12px 17px 20px}.arc-flow-header{padding:23px 19px 15px}.arc-flow-note{padding:0 19px 20px}}
/* Browser-tested phone width correction: command control must not retain desktop min-width. */
@media(max-width:520px){
 .topbar{justify-content:space-between;gap:8px}
 .topbar>.top-actions{gap:6px;flex-shrink:0;min-width:0}
 .top-actions .arc-search{min-width:40px!important;width:40px!important;min-height:40px;padding:8px!important;justify-content:center}
 .top-actions .arc-search::before{content:'⌕';font-size:23px;line-height:1}
 .top-actions .arc-search span,.top-actions .arc-search kbd,.top-actions .arc-quality{display:none!important}
 .top-actions>.btn.slim{min-width:40px;max-width:40px;padding:9px;overflow:hidden;gap:15px;white-space:nowrap}
 .top-actions>.btn.slim .desktop-hide{display:none!important}
 .crumb{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}
}
