:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:#efece5;background:#11100f;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:246px;flex:none;background:#151310;border-right:1px solid #34302a;padding:28px 17px;display:flex;flex-direction:column;gap:25px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:0 13px;font-size:21px;font-weight:650;letter-spacing:-.06em}.brand img{width:34px;height:34px;border-radius:50%;object-fit:contain}.eyebrow{color:#a98d6c;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700}.nav{display:grid;gap:5px}.nav a{display:flex;align-items:center;gap:12px;color:#a8a39b;padding:12px 14px;border-radius:8px;font-size:14px}.nav a:hover,.nav a.active{background:#29231d;color:#f7ede0}.nav svg{width:18px;height:18px}.sidebar-foot{margin-top:auto;border-top:1px solid #34302a;padding:20px 12px 0;color:#aaa49a;font-size:13px}.shell{flex:1;min-width:0}.topbar{min-height:82px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #302d28;padding:18px clamp(20px,4vw,56px)}.topbar small{color:#9c958a}.topbar strong{display:block;font-size:14px}.content{max-width:1530px;padding:35px clamp(20px,4vw,56px) 80px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:26px}.heading h1{font-size:clamp(27px,3vw,38px);font-weight:590;letter-spacing:-.045em;margin:6px 0}.heading p{margin:0;color:#a6a097;font-size:14px}.heading-actions,.actions,.filters{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.btn{border:1px solid #504539;background:#24211d;color:#ece5da;border-radius:8px;min-height:41px;padding:9px 15px;font-weight:580;font-size:13px}.btn:hover{border-color:#bc9c72}.btn.primary{background:#b59064;color:#17120d;border-color:#b59064}.btn.primary:hover{background:#d3af7e}.btn.ghost{background:transparent;border-color:transparent}.btn.danger{color:#ecaaa4}.btn:disabled{opacity:.5;cursor:wait}.period{display:flex;gap:8px;align-items:center}.period select{min-width:156px}.field,select,input,textarea{background:#211e1a;border:1px solid #484039;color:#f3eee7;border-radius:8px;padding:10px 11px;min-height:41px;outline:none;max-width:100%}.field:focus,select:focus,input:focus,textarea:focus{border-color:#c9a374}input[type=date]{color-scheme:dark}input[type=number]{width:100%}textarea{min-height:92px;resize:vertical}.grid{display:grid;gap:16px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metric,.panel,.item-card{background:#1a1917;border:1px solid #332f2a;border-radius:12px}.metric{padding:22px;min-height:150px}.metric .label{font-size:13px;color:#bbb3a7}.metric .value{font-size:clamp(22px,2.3vw,31px);letter-spacing:-.055em;margin:22px 0 4px;font-weight:580}.metric small{font-size:12px;color:#8d877e;line-height:1.5}.metric.highlight{background:linear-gradient(135deg,#30271e,#201c17);border-color:#5e4932}.split{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);margin-top:17px}.panel{padding:23px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:19px}.panel h2{font-size:17px;letter-spacing:-.025em;margin:0;font-weight:610}.panel h3{font-size:14px;margin:0}.muted{color:#a49d92}.tiny{font-size:12px}.chart{height:245px;display:flex;align-items:end;gap:13px;padding:12px 3px 28px;border-bottom:1px solid #413b34}.chart-group{height:100%;flex:1;min-width:0;display:flex;align-items:end;justify-content:center;gap:4px;position:relative}.bar{width:30%;max-width:27px;min-height:2px;border-radius:4px 4px 0 0;background:#bd986c}.bar.out{background:#675648}.chart-group label{position:absolute;bottom:-26px;font-size:11px;color:#9b948a;white-space:nowrap}.legend{display:flex;gap:19px;margin-top:34px;font-size:12px;color:#aca49a}.dot{width:8px;height:8px;display:inline-block;border-radius:2px;margin-right:7px;background:#bd986c}.dot.out{background:#675648}.list{display:grid}.list-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-top:1px solid #302d29}.list-row:first-child{border-top:0}.list-row strong{font-weight:560;font-size:14px}.list-row small{display:block;color:#9a9389;margin-top:4px;font-size:12px}.list-row button{border:0;background:transparent;color:#d0b08a;text-align:right}.quick{display:flex;flex-wrap:wrap;gap:8px}.progress{height:8px;background:#38322a;border-radius:8px;overflow:hidden}.progress span{display:block;height:100%;background:#bf9869}.goal-value{font-size:27px;letter-spacing:-.04em;margin:8px 0}.toolbar{display:flex;justify-content:space-between;gap:12px;margin:20px 0;align-items:center}.filters{margin:0 0 19px}.filters select,.filters input{font-size:13px;min-width:140px}.filters input[type=search]{min-width:225px;flex:1}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#968c7f;font-weight:600;padding:13px 11px;border-bottom:1px solid #413a32;white-space:nowrap}.data-table td{padding:14px 11px;border-bottom:1px solid #322d27;vertical-align:middle}.data-table td:first-child{font-weight:580}.data-table .btn{padding:5px 8px;min-height:30px;font-size:12px}.tag{display:inline-block;padding:5px 9px;border-radius:6px;background:#332e27;color:#d9c9b4;font-size:12px;white-space:nowrap}.tag.done{background:#25372d;color:#a9d4af}.tag.late{background:#472b27;color:#e8a7a0}.tag.pending{background:#403426;color:#e2bf87}.empty{text-align:center;padding:38px 16px;color:#b4ab9e}.empty h3{color:#efe6da;margin:0 0 7px}.empty p{font-size:14px;margin:0 0 18px}.cards-mobile{display:none}.item-card{padding:17px;margin-bottom:10px}.item-card .line{display:flex;justify-content:space-between;gap:10px;align-items:start;margin:0 0 12px}.item-card small{color:#a49a8e}.item-card .actions{border-top:1px solid #39332b;padding-top:10px}.modal-back{position:fixed;inset:0;background:#000b;z-index:10;display:flex;justify-content:flex-end}.modal{width:min(560px,100%);height:100%;overflow-y:auto;background:#1b1916;border-left:1px solid #554737;padding:25px 26px 50px;box-shadow:-15px 0 55px #0008}.modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.modal header h2{margin:0;font-size:23px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid label{display:grid;gap:7px;color:#bfb6a8;font-size:13px}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.toast{position:fixed;right:20px;bottom:20px;background:#383021;color:#f5e9d7;border:1px solid #aa8657;padding:13px 17px;border-radius:8px;z-index:20;box-shadow:0 8px 20px #0008}.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 20%,#2a2118,#11100f 65%)}.auth-box{width:min(410px,100%);background:#1b1917;border:1px solid #4c3d2e;border-radius:14px;padding:34px}.auth-box img{width:56px;height:56px;border-radius:50%;margin-bottom:15px}.auth-box h1{font-size:27px;margin:0 0 5px}.auth-box p{color:#afa598;font-size:14px;margin:0 0 24px}.auth-box label{display:grid;gap:7px;margin:0 0 16px;color:#c9bfb0;font-size:13px}.auth-box input{width:100%}.auth-box button{width:100%;margin-top:5px}.error{color:#eea7a1;font-size:13px;margin:12px 0}.section-stack{display:grid;gap:17px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;font-size:14px}.detail-grid strong{display:block;color:#a99b8a;font-size:12px;margin-bottom:3px}.mobile-head{display:none}.custom-dates{display:flex;gap:7px}.custom-dates input{width:145px}.subtle-link{border:0;background:transparent;color:#c7a579;padding:0;font-size:13px}.kv{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #342f29}.kv:last-child{border:0}@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.sidebar{width:210px}.content{padding:26px 24px 60px}}@media(max-width:720px){.app{display:block;padding-bottom:65px}.sidebar{position:fixed;z-index:8;bottom:0;top:auto;height:65px;width:100%;padding:4px 5px;background:#181512;border-top:1px solid #544738;border-right:0}.sidebar .brand,.sidebar .eyebrow,.sidebar-foot{display:none}.nav{display:flex;justify-content:space-around;gap:0;height:100%}.nav a{display:grid;place-items:center;align-content:center;gap:2px;font-size:10px;padding:5px 3px;min-width:0;flex:1;text-align:center}.nav svg{width:20px;height:20px}.topbar{min-height:62px;padding:11px 18px}.topbar .period{display:none}.mobile-head{display:flex;align-items:center;gap:8px}.mobile-head img{width:28px;height:28px;border-radius:50%}.content{padding:25px 16px 45px}.heading{display:block}.heading-actions{margin-top:17px}.metrics{gap:9px}.metric{padding:16px;min-height:140px}.metric .value{font-size:21px;margin-top:20px}.metric small{font-size:11px}.panel{padding:17px}.chart{gap:6px}.toolbar{align-items:flex-start;flex-direction:column}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.filters input[type=search]{grid-column:1/-1;min-width:0}.filters select,.filters input{min-width:0;width:100%}.table-wrap{display:none}.cards-mobile{display:block}.form-grid{gap:13px}.modal{padding:19px 17px 45px}.custom-dates input{width:130px}}@media(max-width:390px){.metrics{grid-template-columns:1fr 1fr}.metric .value{font-size:19px}.custom-dates{flex-wrap:wrap}}
.picker-wrap{position:relative;min-width:0}.picker-wrap label{display:block}.picker-wrap .picker-input{cursor:pointer;width:100%}.picker-wrap small{display:block;margin-top:5px}.picker-menu{display:none;position:absolute;z-index:30;left:0;right:0;top:100%;margin-top:5px;padding:7px;background:#171b24;border:1px solid #434b5c;border-radius:12px;box-shadow:0 15px 35px #0008;max-height:min(310px,48vh);overflow:auto}.picker-menu.open{display:block}.picker-menu .picker-search{width:100%;margin-bottom:6px}.picker-results{display:grid;gap:2px}.picker-results button{text-align:left;border:0;background:transparent;color:inherit;padding:11px 9px;min-height:42px;border-radius:7px;cursor:pointer;font:inherit}.picker-results button:hover,.picker-results button:focus-visible{background:#343c4d}.picker-results p{padding:8px}.modal{overflow:visible}.modal-back{overflow-y:auto;align-items:flex-start}.form-grid>*{min-width:0}@media(max-width:650px){.picker-menu{position:relative;max-height:34vh}.picker-results button{min-height:46px}}
/* Keep the existing drawer usable at phone sizes and with the keyboard open. */
.modal-back{overflow-y:auto;overscroll-behavior:contain}.modal{height:auto;min-height:100%;overflow:visible}.picker-menu{background:#211e1a;border-color:#554737;color:#f3eee7}@media(max-width:540px){.form-grid{grid-template-columns:minmax(0,1fr)}.modal{width:100%;padding-bottom:calc(86px + env(safe-area-inset-bottom))}.modal header{position:sticky;top:0;z-index:3;background:#1b1916;padding:10px 0}.picker-menu.open{position:relative;max-height:min(42vh,290px);overflow:auto}.picker-search{font-size:16px}.picker-results button{font-size:15px}}

/* Structured sections for the project form */
.project-form-intro{grid-column:1/-1;padding:15px 16px;background:linear-gradient(135deg,#2b241d,#211e1a);border:1px solid #4a3c2d;border-radius:10px}.project-form-intro p{margin:7px 0 0;color:#b4aa9d;font-size:13px;line-height:1.5}.form-section-title{grid-column:1/-1;display:flex;align-items:center;gap:11px;padding:5px 0 11px;border-bottom:1px solid #39332b;margin-top:4px}.form-section-title>span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#30271e;color:#d0ad7e;font-size:11px;font-weight:700}.form-section-title strong,.form-section-title small{display:block}.form-section-title strong{font-size:13px;color:#eee5da}.form-section-title small{font-size:11px;color:#9e968b;margin-top:3px}
