@media screen{
  :root{
    --ink:#102f58;
    --muted:#607a96;
    --paper:#edf8ff;
    --surface:#ffffff;
    --line:#cde4f1;
    --brand:#0a3d91;
    --brand-2:#078ed5;
    --accent:#00a978;
    --accent-soft:#e4faf2;
    --success:#087d5d;
    --shadow:0 16px 42px rgba(10,77,136,.09);
  }
  body{
    background:
      radial-gradient(circle at 92% 5%,rgba(0,169,120,.12),transparent 24rem),
      radial-gradient(circle at 6% 18%,rgba(6,149,221,.14),transparent 28rem),
      linear-gradient(180deg,#f7fcff 0%,#eaf7fd 52%,#f7fcff 100%);
    color:var(--ink);
  }
  .app-shell{
    position:relative;
    isolation:isolate;
    max-width:1450px;
    padding-top:22px;
  }
  .app-shell::before,
  .app-shell::after{
    content:"";
    position:fixed;
    z-index:-1;
    pointer-events:none;
    border-radius:50%;
    filter:blur(2px);
  }
  .app-shell::before{
    width:360px;
    height:360px;
    top:120px;
    right:-190px;
    border:46px solid rgba(0,169,120,.06);
    box-shadow:0 0 0 40px rgba(0,145,214,.045);
  }
  .app-shell::after{
    width:460px;
    height:180px;
    left:-220px;
    bottom:20px;
    transform:rotate(-16deg);
    background:linear-gradient(135deg,rgba(11,153,218,.08),rgba(0,181,132,.08));
  }
  .app-shell:not(.hidden)>.topbar,
  .app-shell:not(.hidden)>.summary-strip,
  .app-shell:not(.hidden)>.panel{
    animation:dashboard-in .48s cubic-bezier(.2,.8,.2,1) both;
  }
  .app-shell:not(.hidden)>.summary-strip{animation-delay:.06s}
  .app-shell:not(.hidden)>.form-panel{animation-delay:.12s}
  .app-shell:not(.hidden)>.search-panel{animation-delay:.18s}
  .app-shell:not(.hidden)>.records-panel{animation-delay:.24s}
  @keyframes dashboard-in{
    from{opacity:0;transform:translateY(12px)}
    to{opacity:1;transform:translateY(0)}
  }

  .topbar{
    position:relative;
    overflow:hidden;
    min-height:108px;
    margin-bottom:18px;
    padding:15px 20px;
    border:1px solid rgba(137,194,224,.5);
    border-radius:24px;
    background:
      linear-gradient(115deg,rgba(255,255,255,.96),rgba(239,250,255,.9)),
      #fff;
    box-shadow:0 14px 38px rgba(8,70,130,.08);
  }
  .topbar::after{
    content:"";
    position:absolute;
    right:0;
    left:0;
    bottom:0;
    height:4px;
    background:linear-gradient(90deg,#0752ad 0 42%,#08a5e0 62%,#00b478 100%);
  }
  .brand{gap:16px;min-width:0}
  .brand-mark{
    width:78px;
    height:78px;
    border:1px solid #d8edf7;
    border-radius:20px;
    background-color:#fff;
    background-size:155%;
    box-shadow:0 9px 26px rgba(7,91,161,.12);
  }
  .brand .eyebrow{
    margin-bottom:3px;
    color:#0780c0;
    font-size:13px;
    letter-spacing:0;
  }
  .brand h1{
    color:#0a318b;
    font-size:clamp(27px,3vw,38px);
    font-weight:900;
  }
  .clock{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    margin-top:7px;
    padding:3px 10px;
    color:#416587;
    background:#edf8fe;
    border:1px solid #d3eaf5;
    border-radius:999px;
    font-size:13px;
    font-weight:700;
  }
  .button-danger{
    color:#9d312d;
    background:#fff2f0;
    border-color:#f2c7c3;
    box-shadow:0 6px 16px rgba(157,49,45,.08);
  }
  .button-danger:hover{background:#ffe7e4}

  .summary-strip{
    position:relative;
    overflow:hidden;
    min-height:86px;
    padding:17px 23px;
    margin-bottom:18px;
    background:linear-gradient(120deg,#073b91 0%,#087ec7 62%,#09a99a 100%);
    border:1px solid rgba(255,255,255,.32);
    border-radius:22px;
    box-shadow:0 16px 34px rgba(6,76,151,.18);
  }
  .summary-strip::after{
    content:"";
    position:absolute;
    width:190px;
    height:190px;
    left:-55px;
    top:-108px;
    border:23px solid rgba(255,255,255,.08);
    border-radius:50%;
  }
  .summary-strip>div{position:relative;z-index:1}
  .summary-label{color:#d9f1ff;font-size:14px;font-weight:700}
  .summary-strip strong{
    min-width:50px;
    text-align:center;
    color:#fff;
    font-size:36px;
    font-weight:900;
  }
  .storage-note{
    padding:8px 13px;
    color:#fff;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    backdrop-filter:blur(8px);
  }
  .status-dot{
    background:#7ff0c2;
    box-shadow:0 0 0 5px rgba(127,240,194,.15);
  }

  .panel{
    position:relative;
    overflow:visible;
    background:rgba(255,255,255,.93);
    border:1px solid rgba(151,203,229,.58);
    border-radius:22px;
    box-shadow:var(--shadow);
    backdrop-filter:blur(10px);
  }
  .form-panel{
    overflow:hidden;
    padding:25px;
  }
  .form-panel::before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    left:0;
    height:5px;
    background:linear-gradient(90deg,#04af7b,#0aa6df 52%,#09449c);
  }
  .section-heading h2,
  .table-head h2,
  .search-copy h2{
    color:#0a3b91;
    font-weight:900;
  }
  .section-heading .eyebrow,
  .table-head .eyebrow,
  .search-copy .eyebrow{
    color:#008e68;
    letter-spacing:0;
  }
  .text-button{
    color:#075c9f;
    background:#e8f6fd;
    border:1px solid #c8e7f6;
  }
  .text-button:hover{background:#d9f0fb}

  .field label{color:#153c65;font-size:14px}
  .field label span{color:#d4433c}
  .field small{color:#6b8298}
  .field input,
  .field textarea,
  .search-control input{
    color:#12375d;
    background:#fbfeff;
    border:1.5px solid #c8e1ef;
  }
  .field input:hover,
  .field textarea:hover,
  .search-control input:hover{border-color:#8fc9e5}
  .field input:focus,
  .field textarea:focus,
  .search-control input:focus{
    border-color:#078ed5;
    background:#fff;
    box-shadow:0 0 0 4px rgba(7,142,213,.11);
  }
  .field input::placeholder,
  .field textarea::placeholder,
  .search-control input::placeholder{color:#8ba0b4}

  .button{
    border-radius:12px;
    box-shadow:none;
  }
  .button-primary{
    color:#fff;
    background:linear-gradient(135deg,#0847a1,#078fd8);
    box-shadow:0 9px 20px rgba(8,87,171,.16);
  }
  .button-primary:hover{background:linear-gradient(135deg,#073a89,#057fc3)}
  .button-primary.editing{background:linear-gradient(135deg,#087b62,#00a978)}
  .button-muted{
    color:#225f87;
    background:#eaf7fd;
    border-color:#cce8f5;
  }
  .button-muted:hover{background:#daeffa}
  .button-outline{
    color:#087959;
    background:#f6fffb;
    border-color:#86d7bc;
  }
  .button-outline:hover{background:#e7fbf4}

  .search-panel{
    overflow:visible;
    padding:21px 24px;
    margin-top:18px;
    background:
      linear-gradient(120deg,rgba(238,249,255,.98),rgba(248,255,252,.98)),
      #fff;
  }
  .search-copy p:last-child{color:#66809a}
  .search-control input{
    background:#fff;
    border-color:#a9d8ed;
    box-shadow:0 7px 18px rgba(9,104,165,.06);
  }
  .search-icon{color:#0788cf}
  .clear-search{
    color:#075b91;
    background:#e5f4fb;
    border:1px solid #c4e4f3;
  }
  .search-suggestions{
    border-color:#b9ddeb;
    box-shadow:0 18px 45px rgba(7,75,131,.15);
  }
  .suggestion:hover,.suggestion:focus{background:#ecf8fd}
  .suggestion strong{color:#084799}

  .records-panel{
    overflow:hidden;
    padding:23px;
    margin-top:18px;
  }
  .records-panel::before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:180px;
    height:4px;
    background:#00aa79;
  }
  .count-badge{
    color:#087456;
    background:#e3f9f1;
    border:1px solid #bcebd9;
  }
  .table-wrap{
    border:1px solid #bcdbe9;
    border-radius:16px;
    box-shadow:0 8px 24px rgba(7,87,142,.05);
  }
  table{background:#fff}
  thead th{
    color:#fff;
    background:linear-gradient(180deg,#0b4fa6,#083d8b);
    border-bottom-color:#073677;
    font-weight:900;
  }
  thead th:first-child{border-radius:0 13px 0 0}
  thead th:last-child{border-radius:13px 0 0 0}
  tbody tr:nth-child(odd){background:#fff}
  tbody tr:nth-child(even){background:#eff9fd}
  tbody tr:hover{background:#e4f6fb}
  tbody td{border-bottom-color:#d7e9f1}
  .auto-cell{color:#08499a}
  .row-action.edit{
    color:#087456;
    background:#e4faf2;
  }
  .row-action.edit:hover{background:#cdf3e5}
  .row-action.delete{
    color:#ad3b35;
    background:#fff0ee;
  }
  .row-action.delete:hover{background:#ffe1dd}
  .empty-mark{
    color:#087ac0;
    background:#e4f5fc;
    border-color:#bfe2f1;
  }
  .empty-state h3{color:#0a3b91}

  .toast{
    background:linear-gradient(135deg,#083d8b,#087ec7);
    box-shadow:0 18px 48px rgba(5,63,122,.28);
  }
  .toast.error{background:linear-gradient(135deg,#963730,#c94b43)}

  @media(max-width:820px){
    .app-shell{padding-top:10px}
    .topbar{
      position:sticky;
      z-index:30;
      top:7px;
      min-height:82px;
      padding:10px 12px;
      border-radius:18px;
      backdrop-filter:blur(18px);
    }
    .brand-mark{
      width:58px;
      height:58px;
      border-radius:16px;
    }
    .brand{gap:10px}
    .brand h1{font-size:25px}
    .clock{font-size:11px;padding:2px 7px}
    .summary-strip{min-height:72px;border-radius:18px}
    tbody tr{
      position:relative;
      overflow:hidden;
      border:1px solid #c3dfeb;
      border-right:5px solid #078ed5;
      background:rgba(255,255,255,.96)!important;
      box-shadow:0 9px 22px rgba(7,79,132,.07);
    }
    tbody td:first-child{
      color:#08488f;
      background:linear-gradient(90deg,#e9f8fd,#effbf6);
    }
  }
  @media(max-width:620px){
    .app-shell{padding-right:10px;padding-left:10px}
    .topbar{margin-bottom:13px}
    .brand .eyebrow{display:none}
    .brand-mark{width:52px;height:52px}
    .brand h1{font-size:22px}
    .clock{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .summary-strip{
      padding:12px 14px;
      background:linear-gradient(135deg,#073b91,#0788cd 68%,#08a88b);
    }
    .summary-strip strong{font-size:29px}
    .storage-note{padding:6px 9px;font-size:11px}
    .form-panel,.search-panel,.records-panel{padding:16px;border-radius:18px}
    .section-heading h2,.table-head h2,.search-copy h2{font-size:20px}
    .form-actions .button-primary{min-height:54px}
    .table-head{align-items:flex-start}
    .count-badge{white-space:nowrap}
  }
  @media(prefers-reduced-motion:reduce){
    .app-shell:not(.hidden)>.topbar,
    .app-shell:not(.hidden)>.summary-strip,
    .app-shell:not(.hidden)>.panel{animation:none}
  }
}
