:root{font-family:Inter,system-ui,sans-serif;color:#17202a;background:#edf1f4;font-size:16px}*{box-sizing:border-box}body{margin:0}main{max-width:76rem;margin:2rem auto;padding:1.5rem;background:#fff;border-radius:.75rem}.login main{max-width:28rem;text-align:center}.login img{height:72px;width:auto;max-width:100%}.login input,.login label,form label{display:block;width:100%;margin:.5rem 0}button,input,select,textarea{font:inherit}input[type=file]{max-width:100%;min-width:0}button,a{margin:.25rem;padding:.55rem .75rem}button{cursor:pointer}textarea{min-height:5rem}dialog{width:min(42rem,92vw);border:0;border-radius:.5rem}fieldset{margin:1rem 0}
.dashboard{--navy:#101b4b;--deep:#09102f;--gold:#f5bb32;--cream:#fffaf0;--paper:#fffdf8;--ink:#16204a;--muted:#616778;--line:#deded8;background:#f4f2ec;color:var(--ink);min-width:0}.dashboard .dashboard-shell{display:grid;grid-template-columns:15rem minmax(0,1fr);min-height:100vh}.dashboard .sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:2rem;padding:1.75rem 1.25rem;background:var(--deep);color:#fff}.dashboard .header-brand{display:flex;align-items:center;gap:.8rem;min-width:0}.dashboard .header-brand img{height:52px;width:auto;max-width:64px;object-fit:contain;flex:0 0 auto}.dashboard .header-brand div{min-width:0}.dashboard .header-brand strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:1rem;line-height:1.15}.dashboard .header-brand span{display:block;margin-top:.35rem;color:#bfc7de;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}.dashboard nav{display:grid;gap:.3rem}.dashboard nav button{display:flex;align-items:center;gap:.7rem;width:100%;min-height:2.75rem;margin:0;padding:.65rem .75rem;border:0;border-radius:.45rem;background:transparent;color:#c8cfe3;text-align:left;font-weight:650}.dashboard nav button span{width:1.25rem;color:var(--gold);font-size:.7rem;letter-spacing:.06em}.dashboard nav button:hover{background:#172552;color:#fff}.dashboard nav button.active{background:#23325c;color:#fff;box-shadow:inset 3px 0 var(--gold)}.dashboard .sidebar-footer{display:grid;gap:.5rem;margin-top:auto;padding-top:1.15rem;border-top:1px solid #344064}.dashboard .sidebar-footer a,.dashboard .sidebar-footer button{display:block;width:100%;min-height:2.75rem;margin:0;border:1px solid #485475;border-radius:.5rem;background:transparent;color:#fff;text-align:center;text-decoration:none}.dashboard .sidebar-footer a{padding:.65rem .75rem}.dashboard .sidebar-footer a:hover,.dashboard .sidebar-footer button:hover{border-color:var(--gold);color:var(--gold)}
.dashboard main{width:100%;max-width:96rem;min-width:0;margin:0 auto;padding:2rem clamp(1.25rem,4vw,3.5rem);background:transparent;border-radius:0}.dashboard header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.15rem}.dashboard h1,.dashboard h2,.dashboard p{margin-top:0}.dashboard header h1{margin:.15rem 0 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.1}.dashboard .eyebrow{margin:0;color:#6c624f;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.dashboard .phase,.dashboard .tag{display:inline-block;border-radius:999px}.dashboard .phase{padding:.4rem .7rem;background:#f8e7b5;color:#6d4c05;font-size:.78rem;font-weight:750}.dashboard .notice{margin:0 0 .75rem;padding:.85rem 1rem;border:1px solid #e6d39e;border-left:4px solid var(--gold);border-radius:.45rem;background:#fff7df;color:#54492d;font-size:.88rem}.dashboard #status{min-height:1.35rem;margin:.5rem 0 1rem;color:#53616b;font-size:.8rem}.dashboard #status:not(:empty){padding-left:.75rem;border-left:2px solid var(--gold)}
.dashboard .hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:2rem;margin-bottom:1.25rem;padding:clamp(1.5rem,4vw,2.35rem);border-radius:.9rem;background:var(--navy);color:#fff;box-shadow:0 14px 34px #09102f20}.dashboard .hero:after{position:absolute;right:-2rem;bottom:-4.5rem;width:13rem;height:13rem;border:1px solid #ffffff1c;border-radius:50%;box-shadow:0 0 0 2.5rem #ffffff09;content:''}.dashboard .hero .eyebrow{color:var(--gold)}.dashboard .hero h1{max-width:38rem;margin:.55rem 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.02;letter-spacing:-.035em}.dashboard .hero p{max-width:34rem;margin:.9rem 0 0;color:#ced4e5}.dashboard .hero aside{z-index:1;align-self:center;min-width:10rem;padding-left:1.35rem;border-left:1px solid #ffffff35}.dashboard .hero aside small,.dashboard .hero aside strong{display:block}.dashboard .hero aside small{color:#bec7df;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.dashboard .hero aside strong{margin:.4rem 0;font-family:Georgia,'Times New Roman',serif;font-size:1.25rem}.dashboard .section-title{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem}.dashboard .section-title h1{margin:.2rem 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.8rem,3vw,2.5rem)}.dashboard .section-title p,.dashboard .panel>p{color:var(--muted)}
.dashboard button,.dashboard main a{min-height:2.75rem;border:1px solid #c8c8c2;border-radius:.5rem;background:#fff;color:var(--ink);font-weight:650}.dashboard main button:hover{border-color:var(--navy)}.dashboard button:focus-visible,.dashboard a:focus-visible,.dashboard input:focus-visible,.dashboard select:focus-visible,.dashboard textarea:focus-visible,.dashboard summary:focus-visible{outline:3px solid #159cb1;outline-offset:2px}.dashboard #add,.dashboard button[type=submit],.dashboard #upload,.dashboard #backup,.dashboard #restore{border-color:var(--gold);background:var(--gold);color:#1e2550}.dashboard .stats,.dashboard .finance-grid,.dashboard .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.dashboard .stats button{position:relative;min-height:7.5rem;margin:0;padding:1.15rem;border:1px solid var(--line);border-radius:.7rem;background:var(--paper);text-align:left;box-shadow:0 5px 18px #14204a0a}.dashboard .stats button:after{position:absolute;right:1rem;top:1rem;width:.45rem;height:.45rem;border-radius:50%;background:var(--gold);content:''}.dashboard .stats b{display:block;margin-top:.55rem;font-family:Georgia,'Times New Roman',serif;font-size:2rem}.dashboard .panel{min-width:0;margin:1rem 0;padding:1.25rem;border:1px solid var(--line);border-radius:.75rem;background:var(--paper);box-shadow:0 5px 18px #14204a0a}.dashboard .record{padding:.85rem 0;border-bottom:1px solid var(--line)}.dashboard .record:last-child{border-bottom:0}.dashboard .record summary{display:flex;justify-content:space-between;gap:1rem;cursor:pointer}.dashboard .record summary>span{min-width:0}.dashboard .record summary small,.dashboard .record summary strong{display:block;overflow-wrap:anywhere}.dashboard .record summary small{margin-top:.25rem;color:var(--muted)}.dashboard .record-detail dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.dashboard .record-detail dt{font-size:.8rem;color:#53616b}.dashboard .record-detail dd{margin:0;overflow-wrap:anywhere}.dashboard .record-detail footer{display:flex;justify-content:space-between;align-items:center}.dashboard .tag{padding:.2rem .5rem;border:1px solid #c7c1b4;background:#fffaf0;font-size:.8rem}.dashboard .explain,.dashboard .empty{padding:.85rem;border-radius:.4rem;background:#f2efe7}.dashboard .value{margin:.5rem 0;font-size:1.35rem;font-weight:700}.dashboard article{padding:.8rem 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.dashboard code{overflow-wrap:anywhere;word-break:break-word}.dashboard input:not([type=file]),.dashboard select,.dashboard textarea{width:100%;min-height:2.75rem;padding:.65rem .7rem;border:1px solid #c9c8c0;border-radius:.4rem;background:#fff;color:var(--ink)}.dashboard dialog{max-height:calc(100vh - 2rem);padding:1.5rem;color:var(--ink);overflow:auto;box-shadow:0 25px 80px #09102f55}.dashboard dialog::backdrop{background:#09102fa8}.dashboard dialog h2{font-family:Georgia,'Times New Roman',serif;font-size:1.8rem}.dashboard dialog label{font-size:.86rem;font-weight:650}.dashboard dialog button{margin-top:.8rem}.dashboard fieldset{border:1px solid var(--line);border-radius:.5rem}
@media(max-width:800px){.dashboard .dashboard-shell{display:block}.dashboard .sidebar{position:static;width:100%;height:auto;gap:.85rem;padding:.85rem 1rem}.dashboard .header-brand img{height:44px}.dashboard .header-brand span{margin-top:.2rem}.dashboard nav{display:flex;gap:.35rem;padding-bottom:.2rem;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.dashboard nav button{flex:0 0 auto;width:auto;white-space:nowrap}.dashboard .sidebar-footer{display:flex;margin-top:0;padding-top:.75rem}.dashboard .sidebar-footer a,.dashboard .sidebar-footer button{width:auto;flex:1}.dashboard main{padding:1.25rem}.dashboard .finance-grid,.dashboard .grid{grid-template-columns:1fr}.dashboard .record-detail dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.dashboard main{padding:1rem}.dashboard header{align-items:flex-start}.dashboard .phase{flex:0 0 auto}.dashboard .hero{display:block}.dashboard .hero aside{margin-top:1.25rem;padding:1rem 0 0;border-top:1px solid #ffffff35;border-left:0}.dashboard .stats{grid-template-columns:1fr}.dashboard .stats button{min-height:5.8rem}.dashboard .section-title,.dashboard .record summary{align-items:flex-start;flex-direction:column}.dashboard .record summary>span:last-child{display:flex;flex-wrap:wrap;gap:.25rem}.dashboard .record-detail dl{grid-template-columns:1fr}.dashboard .record-detail footer{align-items:flex-start;flex-direction:column}.dashboard dialog{width:calc(100vw - 1rem);padding:1rem}}
@media print{.dashboard .sidebar,.dashboard header,.dashboard .notice,.dashboard #status,.dashboard button{display:none!important}.dashboard .dashboard-shell{display:block}.dashboard main{padding:0}.dashboard .hero{color:#000;background:#fff;border:1px solid #bbb;box-shadow:none}.dashboard .hero p,.dashboard .hero .eyebrow,.dashboard .hero aside small{color:#333}}
