@font-face{font-family:'DM Sans';src:url('../fonts/DMSans-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:'DM Sans';src:url('../fonts/DMSans-500.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:'DM Sans';src:url('../fonts/DMSans-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:'DM Sans';src:url('../fonts/DMSans-700.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Nunito;src:url('../fonts/Nunito-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Nunito;src:url('../fonts/Nunito-700.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Nunito;src:url('../fonts/Nunito-800.ttf') format('truetype');font-style:normal;font-weight:800;font-display:swap}:root{--cream:#f7f0e5;--cream-2:#efe3d2;--paper:#fffaf2;--glass:rgba(255,250,242,.82);--ink:#2b241d;--muted:#776b5f;--line:rgba(72,54,36,.14);--gold:#c99a42;--gold-2:#e4bd72;--gold-soft:#f6e8c8;--brown:#574332;--brown-2:#3c2e24;--sage:#75856b;--green:#52715b;--red:#a84f42;--amber:#a97128;--blue:#5d6f78;--shadow:0 14px 40px rgba(72,54,36,.09);--shadow-sm:0 5px 18px rgba(72,54,36,.07);--r:22px}*{box-sizing:border-box}html{background:#ddd1c2}body{margin:0;color:var(--ink);background:var(--cream);font:14px/1.5 'DM Sans',system-ui,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 0%,rgba(201,154,66,.13),transparent 26%),radial-gradient(circle at 95% 80%,rgba(117,133,107,.10),transparent 28%)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{min-height:100vh;max-width:430px;margin:auto;background:var(--cream);position:relative;padding-bottom:92px}.brand-name{font:800 20px/1 Nunito,sans-serif;letter-spacing:-.5px}.brand-name .dotin{color:var(--gold)}.brand-name small{display:block;font:500 9px/1.2 'DM Sans';letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-top:5px}.top{display:flex;justify-content:space-between;align-items:center;padding:22px 20px 10px;position:relative;z-index:2}.profile{display:flex;align-items:center;gap:11px}.avatar{width:45px;height:45px;border-radius:15px;background:var(--brown);color:var(--gold-2);display:grid;place-items:center;font-weight:800;box-shadow:var(--shadow-sm)}.profile small,.muted{color:var(--muted)}.profile b{display:block;font-size:14px}.round{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--glass);color:var(--brown);box-shadow:var(--shadow-sm)}.round.dark{background:var(--brown);color:#fff}.screen{display:none;padding:0 20px 32px;position:relative;z-index:1}.screen.active{display:block}.hero{font:800 30px/1.13 Nunito,sans-serif;letter-spacing:-.7px;margin:18px 0 20px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--amber);font-weight:700}.overview{background:var(--brown-2);color:#fff;border-radius:30px;padding:22px;margin-bottom:24px;display:grid;grid-template-columns:105px 1fr;gap:18px;align-items:center;box-shadow:0 18px 40px rgba(60,46,36,.18)}.ring{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--gold-2) 0 75%,#665547 75%);position:relative}.ring:after{content:"";width:76px;height:76px;border-radius:50%;background:var(--brown-2);position:absolute}.ring b{z-index:1;font:800 19px Nunito}.metric-list{display:grid;gap:9px}.metric-line{display:flex;justify-content:space-between;font-size:12px;color:#d8cec3}.metric-line b{color:#fff}.section-head{display:flex;justify-content:space-between;align-items:center;margin:20px 0 12px}.section-head h2{font:700 18px Nunito;margin:0}.link{border:0;background:transparent;color:var(--amber);font-weight:600}.chips,.tabs{display:flex;gap:8px;overflow:auto;scrollbar-width:none}.chips{margin:0 -20px 16px;padding:0 20px}.chip,.tab{border:1px solid var(--line);background:rgba(255,250,242,.72);border-radius:999px;padding:9px 13px;white-space:nowrap;color:var(--muted)}.chip.active,.tab.active{background:var(--brown);color:#fff;border-color:var(--brown)}.card{background:var(--glass);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.7);border-radius:var(--r);padding:18px;margin-bottom:13px;box-shadow:var(--shadow-sm)}.task-head{display:flex;justify-content:space-between;gap:12px}.task-head h3{font:700 16px Nunito;margin:7px 0 3px}.badge{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.3px}.badge.red{background:#f7ddd8;color:var(--red)}.badge.green{background:#dde9df;color:var(--green)}.badge.amber{background:var(--gold-soft);color:#8a5d1c}.badge.blue{background:#e1e6e7;color:var(--blue)}.task-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:14px}.bottom{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:430px;height:76px;background:rgba(255,250,242,.95);backdrop-filter:blur(16px);border-top:1px solid var(--line);border-radius:28px 28px 0 0;display:grid;grid-template-columns:repeat(5,1fr);z-index:9;box-shadow:0 -10px 35px rgba(72,54,36,.08)}.bottom button{border:0;background:transparent;color:#9b8c7e;font-size:9px}.bottom button.active{color:var(--brown);font-weight:700}.bottom span{display:block;font-size:19px}.fab{width:56px;height:56px;border-radius:50%!important;background:var(--gold)!important;color:var(--brown-2)!important;border:4px solid var(--paper)!important;transform:translateY(-20px);box-shadow:0 10px 24px rgba(201,154,66,.35)}.sticky-form-head{position:sticky;top:0;background:linear-gradient(var(--cream) 75%,transparent);z-index:5;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;text-align:center;padding:20px 0 14px}.sticky-form-head h2{margin:0;font:700 16px Nunito}.field{margin-bottom:18px}.field label{display:block;font-weight:600;margin-bottom:7px;color:var(--brown)}.control,.search{width:100%;border:1px solid var(--line);background:rgba(255,250,242,.9);border-radius:14px;padding:14px 16px;color:var(--ink);outline:0}.control:focus,.search:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,154,66,.17)}textarea.control{resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn{min-height:46px;border:1px solid var(--line);border-radius:13px;padding:11px 15px;background:var(--paper);color:var(--brown);font-weight:600}.btn:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn.dark{background:var(--brown);color:#fff;border-color:var(--brown)}.btn.gold{background:var(--gold);color:var(--brown-2);border-color:var(--gold)}.btn.danger{color:var(--red)}.btn.full{width:100%;min-height:54px}.scan{background:var(--brown-2);color:#fff;border-radius:30px;padding:20px;text-align:center}.scanner{height:230px;border:2px solid var(--gold-2);border-radius:22px;margin:6px 0 18px;display:grid;place-items:center;font-size:60px;background:repeating-linear-gradient(45deg,#fff1 0 2px,transparent 2px 9px);position:relative}.scanner:after{content:"";position:absolute;left:10%;right:10%;top:50%;height:2px;background:var(--gold-2);box-shadow:0 0 10px var(--gold)}.photos{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo{height:140px;border-radius:18px;background:var(--cream-2);border:1px dashed rgba(87,67,50,.22);display:grid;place-items:center;text-align:center;color:var(--muted);padding:10px}.qrbox{background:#fff;border-radius:18px;padding:15px;text-align:center;border:1px solid var(--line)}.qr{width:126px;height:126px;margin:0 auto 10px;background:repeating-conic-gradient(#2b241d 0 25%,#fff 0 50%) 50%/18px 18px;border:8px solid #fff;outline:1px solid var(--line)}.kv{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}.kv:last-child{border:0}.status-actions{display:grid;gap:9px;margin-top:12px}.state{border:1px dashed rgba(87,67,50,.25);border-radius:18px;padding:22px;text-align:center;background:rgba(255,250,242,.55)}.state h3{font:700 17px Nunito;margin:8px}.state.error{background:#fbebe7;color:var(--red)}.state.success{background:#e8f0e9;color:var(--green)}.timeline{border-left:2px solid var(--gold-soft);padding-left:18px;margin-left:5px}.event{position:relative;padding-bottom:17px}.event:before{content:"";position:absolute;left:-24px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--gold-soft)}.event b{display:block}.event small{color:var(--muted)}.desktop-shell{min-height:100vh}.sidebar,.desktop-top{display:none}.page{padding:22px 18px}.page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.page-title h1{font:800 25px Nunito;margin:0}.table-card{background:var(--glass);border:1px solid rgba(255,255,255,.7);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm);backdrop-filter:blur(12px)}.toolbar{display:flex;flex-direction:column;gap:11px;padding:16px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:780px}.table th,.table td{padding:13px 16px;text-align:left;border-top:1px solid var(--line);white-space:nowrap}.table th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);background:rgba(239,227,210,.45)}.check{accent-color:var(--gold);width:17px;height:17px}.summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0}.summary .card{margin:0}.summary b{font:800 25px Nunito;display:block}.chart-grid{display:grid;gap:13px}.chart{height:245px;display:flex;align-items:flex-end;gap:12px;padding:28px 18px 18px}.bar{flex:1;background:linear-gradient(var(--gold-2),var(--gold));border-radius:8px 8px 2px 2px}.donut{width:165px;height:165px;margin:20px auto;border-radius:50%;background:conic-gradient(var(--gold) 0 55%,var(--sage) 55% 77%,var(--brown) 77%);display:grid;place-items:center}.donut:after{content:"128 unit";width:102px;height:102px;border-radius:50%;background:var(--paper);display:grid;place-items:center;font:700 14px Nunito}.matrix{width:100%;border-collapse:collapse}.matrix th,.matrix td{padding:12px;border-bottom:1px solid var(--line);text-align:center}.matrix th:first-child,.matrix td:first-child{text-align:left}.pagination{display:flex;justify-content:flex-end;gap:5px;padding:14px}.pagebtn{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.pagebtn.active{background:var(--brown);color:#fff}.sheet,.modal{display:none;position:fixed;inset:0;background:rgba(43,36,29,.58);z-index:20;padding:18px}.sheet.open,.modal.open{display:flex}.sheet{align-items:flex-end}.sheet-box,.modal-box{background:var(--paper);width:100%;border-radius:24px;padding:20px;box-shadow:var(--shadow)}.modal{align-items:center;justify-content:center}.modal-box{max-width:560px}.sheet-menu{display:grid;grid-template-columns:1fr 1fr;gap:9px}.sheet-menu button{text-align:left}.toast{display:none;position:fixed;left:50%;bottom:92px;transform:translateX(-50%);z-index:30;background:var(--brown-2);color:#fff;border-radius:13px;padding:12px 16px;white-space:nowrap;box-shadow:var(--shadow)}.toast.show{display:block}.desktop-only{display:none!important}@media(min-width:800px){html,body{background:var(--cream)}.app{max-width:none;margin:0;padding:0}.bottom,.top{display:none}.desktop-shell{display:flex}.sidebar{display:flex;position:fixed;inset:0 auto 0 0;width:262px;background:var(--brown-2);color:#fff;padding:28px 17px;flex-direction:column;z-index:8}.sidebar .brand-name{color:#fff;padding:0 13px 30px;font-size:23px}.sidebar .brand-name small{color:#cfc1b2}.nav button{width:100%;border:0;background:transparent;color:#cbbdaf;text-align:left;padding:11px 13px;border-radius:13px;margin:2px 0}.nav button.active,.nav button:hover{background:rgba(201,154,66,.17);color:var(--gold-2)}.side-profile{margin-top:auto;border-top:1px solid #6b594b;padding:18px 12px 0;color:#ddd1c5}.desktop-main{margin-left:262px;width:calc(100% - 262px)}.desktop-top{height:72px;background:rgba(255,250,242,.78);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 34px;position:sticky;top:0;z-index:6}.screen{padding:0}.page{padding:32px 36px;max-width:1500px;margin:auto}.page-title h1{font-size:29px}.summary{grid-template-columns:repeat(4,1fr);gap:13px}.chart-grid{grid-template-columns:2fr 1fr}.toolbar{flex-direction:row;justify-content:space-between;align-items:center}.toolbar .search{width:320px}.form-desktop{max-width:820px;margin:auto}.detail-layout{display:grid;grid-template-columns:1fr 330px;gap:14px}.photos .photo{height:220px}.mobile-only{display:none!important}.desktop-only{display:initial!important}.modal-box{border-radius:24px}.sheet{align-items:center;justify-content:center}.sheet-box{max-width:560px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}}
@media(max-width:799px){.desktop-main{width:100%}.grid2{display:block}.table-card{border-radius:20px}.page-title .btn{white-space:nowrap;font-size:12px;padding:9px}.bottom.has-fab{grid-template-columns:1fr 1fr 1.1fr 1fr 1fr}}
@media(prefers-reduced-motion:no-preference){.screen.active{animation:fade .18s ease}.btn,.card{transition:.18s ease}@keyframes fade{from{opacity:.4;transform:translateY(3px)}}}
@media print{.sidebar,.desktop-top,.bottom,.btn,.toolbar{display:none!important}.desktop-main{margin:0;width:100%}.page{padding:0}.table-card{box-shadow:none}.screen{display:block!important;page-break-after:always}}
.mt-14{margin-top:14px}.mt-18{margin-top:18px}
.flash-stack{display:grid;gap:10px;padding:16px 36px 0;position:relative;z-index:5}.notification{margin:14px 0;padding:13px 15px;text-align:left;border-style:solid;border-radius:14px;box-shadow:none}.flash-stack .notification{margin:0}.notification-copy{min-width:0}.notification strong{display:block;font:700 14px Nunito,sans-serif}.notification p{margin:3px 0 0;color:inherit}.notification.info{background:#e8edef;border-color:rgba(93,111,120,.24);color:var(--blue)}.notification.warning{background:var(--gold-soft);border-color:rgba(169,113,40,.25);color:var(--amber)}.notification.error{border-color:rgba(168,79,66,.24)}.notification.success{border-color:rgba(82,113,91,.24)}@media(max-width:799px){.flash-stack{padding:12px 18px 0}.notification{padding:12px 14px}}
