@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');*{box-sizing:border-box}body{margin:0;background:#f5f6f1;color:#1d2925;font:14px 'DM Sans',sans-serif}aside{position:fixed;width:238px;top:0;bottom:0;background:#172923;color:#d8e1d8;padding:34px 22px;display:flex;flex-direction:column}.brand{font-size:21px;letter-spacing:2px;font-weight:700;color:#f5ead6}.brand span{color:#c5a676}aside small{opacity:.6;margin-top:7px}nav{margin-top:50px;display:grid;gap:8px}nav a,.logout{color:#d8e1d8;text-decoration:none;padding:12px 11px;border-radius:7px}nav a:hover{background:#284238}.logout{margin-top:auto;background:#284238}main{margin-left:238px;padding:34px 42px;max-width:1500px}header{display:flex;justify-content:space-between;align-items:start;margin-bottom:27px}h1{font:700 32px 'Playfair Display';margin:4px 0}.eyebrow{font-size:10px;letter-spacing:1.6px;color:#9a7650;font-weight:bold;margin:0}.date{text-align:right;color:#64716a;font-size:12px}.date b{color:#1d2925}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}.kpis>div,article{background:#fff;border:1px solid #e5e8e1;border-radius:10px;padding:21px;box-shadow:0 2px 5px #17292308}.kpis p{margin:0;color:#718077}.kpis strong{font-size:25px;display:block;margin:10px 0}.kpis small,.muted,small{color:#7e8b84}.green{color:#21845e}.red{color:#ba5045}.grid{display:grid;gap:18px;margin-bottom:18px}.two{grid-template-columns:1.35fr 1fr}h2{margin:0 0 18px;font-size:16px}h3{font-size:14px;margin:18px 0 8px}.stockline{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0eb}.stockline small{display:block;margin-top:3px}.stockline em{font-style:normal;color:#8a7461;font-size:12px;text-align:right}.bars>div{display:grid;grid-template-columns:105px 1fr 70px;gap:8px;align-items:center;margin:15px 0;font-size:12px}.bars i{height:10px;background:#d3b37d;border-radius:4px}.bars b{text-align:right;font-size:11px}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#7c887f;padding:10px 8px;border-bottom:1px solid #dfe5dc}td{padding:12px 8px;border-bottom:1px solid #eef0ec}td small{display:block}mark{background:#e8f0e6;color:#2a704f;padding:4px 8px;border-radius:4px;font-size:10px;font-weight:bold}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.formgrid label{display:grid;gap:6px;font-size:12px;font-weight:600}.wide{grid-column:span 2}input,select{border:1px solid #dce2da;border-radius:6px;padding:10px;font:inherit;background:#fbfcfa}button{border:0;border-radius:6px;background:#c49b62;color:#172923;padding:12px 16px;font-weight:bold;cursor:pointer;width:max-content}.recipe{border-left:3px solid #c49b62;padding:10px 14px;margin:14px 0;background:#faf8f3}.recipe p{margin:6px 0}.note{font-size:12px;color:#69766e}.flash{padding:12px;border-radius:6px;margin:0 0 16px}.flash.success{background:#e3f2e8;color:#21613f}.flash.error{background:#f8e4df;color:#9c3a30}.login{min-height:100vh;display:grid;grid-template-columns:58% 42%;background:#fff}.login-visual{background:linear-gradient(90deg,#10221cbf,#10221c35),url('/static/login-factory.png') center/cover;padding:8vw;color:white;display:flex;align-items:end}.login-visual h1{font-size:58px;line-height:1.05;margin:10px 0}.login-visual>div{max-width:470px}.login-panel{display:grid;place-items:center;padding:30px}.login-card{width:min(360px,100%)}.login-card .brand{color:#1d2925;margin-bottom:35px}.login-card .brand span{color:#a77d48}.login-card form{display:grid;gap:12px;margin-top:25px}.login-card label{font-size:12px;font-weight:bold}.login-card button{width:100%;margin-top:10px}.help{margin-top:32px;color:#68756e;font-size:12px;line-height:1.8}@media(max-width:800px){aside{position:static;width:auto}.logout{margin-top:20px}nav{margin-top:20px}main{margin:0;padding:22px}.kpis,.two,.login{grid-template-columns:1fr}.login-visual{min-height:300px}.login-visual h1{font-size:40px}.formgrid{grid-template-columns:1fr}.wide{grid-column:auto}table{font-size:11px;overflow-x:auto;display:block}}

/* Compact reports dashboard */
.report-period{font-size:11px;color:#69766e;margin:0 0 12px}
.reports-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.report-widget{height:180px;padding:12px;min-width:0;overflow:hidden;display:flex;flex-direction:column}
.report-widget h2{font-size:13px;margin:0 0 6px;flex-shrink:0}
.report-widget svg text{font-family:'DM Sans',sans-serif;font-size:10px;fill:#64716a}
.report-plot{width:100%;height:130px;min-height:0}
.report-commercial{width:100%;height:95px;flex-shrink:0}
.report-caption{font-size:10px;line-height:1.4;margin:2px 0 0;overflow:auto}
.report-stock{display:flex;align-items:center;gap:14px;min-height:0;flex:1}
.report-stock svg{width:120px;height:120px;flex-shrink:0}
.report-widget .report-total{font-size:17px;font-weight:700;fill:#1d2925}
.report-legend{min-width:0;max-height:125px;overflow:auto;font-size:11px}
.report-legend p{margin:0 0 10px}.report-legend small{display:block;margin:3px 0 0 16px;font-size:10px}
.report-legend span{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}
.report-empty{font-size:12px;color:#69766e;margin:auto}
@media(max-width:600px){.reports-grid{grid-template-columns:1fr}}
.brand{font-size:26px}.terb-brand{font-size:48px!important;letter-spacing:4px}.login{grid-template-columns:38% 62%}.login-visual{padding:0;min-height:100vh;background:linear-gradient(90deg,#10221cb5,#10221c25),url('/static/login-factory.png') center/cover}.login-visual>div{display:none}.login-card .brand.terb-brand{color:#172923;margin-bottom:28px}@media(max-width:800px){.login{grid-template-columns:1fr}.login-visual{min-height:180px}}
.login-visual>.image-brand{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;font:700 clamp(58px,9vw,128px) 'Playfair Display';letter-spacing:12px;text-shadow:0 3px 18px #000b}@media(max-width:800px){.login-visual>.image-brand{font-size:56px}}
.login{min-height:100vh;background:#f7f5ef;grid-template-columns:42% 58%}.login-visual{position:relative;overflow:hidden;background:linear-gradient(130deg,#081d18d9 0%,#112b24a8 48%,#c79b5a38 100%),url('/static/login-factory.png') center/cover}.login-visual:before,.login-visual:after{content:'';position:absolute;border:1px solid #ecd9b566;border-radius:50%}.login-visual:before{width:380px;height:380px;top:-170px;right:-180px}.login-visual:after{width:270px;height:270px;bottom:-130px;left:-130px}.login-visual>.image-brand{position:relative;z-index:1;flex-direction:column;gap:20px;font:700 clamp(58px,8vw,104px) 'Playfair Display';letter-spacing:9px}.image-brand span{width:54px;height:5px;background:#d3ad71;box-shadow:0 0 0 8px #ffffff14}.login-panel{position:relative;background:radial-gradient(circle at 82% 18%,#e9d4ab55,transparent 25%),#fdfcf9}.login-card{position:relative;width:min(410px,100%);padding:52px 46px;background:#fff;border:1px solid #e9e2d5;border-radius:18px;box-shadow:0 24px 55px #17292319}.login-card:before{content:'';position:absolute;top:0;left:46px;right:46px;height:4px;background:#c79b5a;border-radius:0 0 4px 4px}.login-card .terb-brand{font:700 42px 'Playfair Display';letter-spacing:7px;margin:0 0 38px}.login-card form{gap:18px;margin:0}.login-card label{letter-spacing:.6px;color:#3e514b}.login-card input{padding:13px;background:#fafaf7;border-color:#dfe3db}.login-card input:focus{outline:0;border-color:#c79b5a;box-shadow:0 0 0 3px #c79b5a22}.login-card button{width:100%;margin-top:10px;padding:14px;background:#bd9154;color:#fff;letter-spacing:.5px;transition:.2s}.login-card button:hover{background:#9f713a;transform:translateY(-1px)}@media(max-width:800px){.login{grid-template-columns:1fr}.login-visual{min-height:230px}.login-card{padding:40px 28px}.login-panel{padding:28px}}
.page-action{display:flex;justify-content:space-between;align-items:center}.button{border:0;border-radius:6px;background:#c49b62;color:#172923;padding:12px 16px;font-weight:bold;text-decoration:none}
.dashboard-filter{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid #e5e8e1;border-radius:10px;padding:14px 18px;margin-bottom:18px;box-shadow:0 2px 5px #17292308}.dashboard-filter label{display:grid;gap:6px;font-size:11px;font-weight:700;color:#64716a}.dashboard-filter select{min-width:150px}.dashboard-filter button{padding:10px 16px}@media(max-width:800px){.dashboard-filter{align-items:stretch;flex-direction:column}.dashboard-filter select{width:100%}}
