
:root{--bg:#eef8f9;--card:#fff;--text:#12323a;--muted:#66858d;--line:#cfe4e7;--teal:#12aeb4;--teal2:#0b8f98;--teal3:#d9f5f6;--good:#2ea847;--warn:#e58b00;--bad:#d94535;--blue:#1e9bd7;--purple:#9852cc;--shadow:0 6px 18px rgba(24,92,100,.13)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial;background:linear-gradient(135deg,#f8fcfc,#e9f7f8);color:var(--text)}a{text-decoration:none;color:inherit}
.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#fafdfe 0%,#eaf8f9 100%);border-right:1px solid #c9e5e8;padding:16px 14px;display:flex;flex-direction:column;box-shadow:5px 0 18px rgba(19,105,112,.06);z-index:20}.brand-block{display:flex;gap:12px;align-items:center;padding:8px 8px 18px}.brand-mark{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;font-size:28px;background:radial-gradient(circle at 30% 30%,#fff,#cbf3f5 55%,#58cbd0);box-shadow:inset 0 2px 2px #fff,0 5px 12px rgba(18,174,180,.25);border:1px solid #99dfe3}.brand-title{font-weight:900;font-size:22px;letter-spacing:.02em;color:#153d48}.brand-sub{font-weight:800;font-size:14px;color:#0c9aa3}.brand-tag{font-family:Georgia,serif;font-style:italic;color:#e97f16;font-weight:700;font-size:12px;margin-top:2px}.side-nav{display:flex;flex-direction:column;gap:7px}.side-nav a{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid #c7dfe3;border-radius:11px;background:linear-gradient(#fff,#edf6f7);box-shadow:inset 0 1px 0 #fff,0 2px 5px rgba(31,92,99,.08);font-weight:650;font-size:14px;transition:.15s}.side-nav a:hover{transform:translateY(-1px);border-color:#8ed3d8}.side-nav a.active{color:white;border-color:#087f88;background:linear-gradient(#33c8ce,#07949d);box-shadow:inset 0 2px 1px rgba(255,255,255,.5),inset 0 -2px 2px rgba(0,73,78,.25),0 4px 9px rgba(0,132,141,.25);text-shadow:0 1px 1px #06666c}.side-nav a span{flex:1}.sidebar-bottom{margin-top:auto}.user-card{border:1px solid #c7dfe3;background:#fff;border-radius:12px;padding:12px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow)}.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(#31c6cc,#078d96);color:#fff;display:grid;place-items:center;font-weight:900;font-size:19px;border:3px solid #e7ffff;box-shadow:0 2px 6px #07949d55}.user-card small{display:block;color:#27834b;margin-top:2px}.main-area{min-width:0;padding-bottom:42px}.mobile-top{display:none}.wrap{max-width:1550px;margin:auto;padding:22px 24px}.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:18px}.pagehead h1{margin:0;font-size:28px;letter-spacing:-.02em}.sub{color:var(--muted);font-size:14px}.grid{display:grid;gap:14px}.kpis{grid-template-columns:repeat(4,minmax(170px,1fr))}.kpi{position:relative;background:linear-gradient(145deg,#fff,#f0fafa);border:1px solid #c8e1e4;border-radius:14px;padding:16px;box-shadow:inset 0 2px 1px #fff,var(--shadow);overflow:hidden}.kpi:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-20px;bottom:-25px;background:#1dbcc21a}.kpi .label{font-size:12px;color:#557b83;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.kpi .value{font-size:24px;font-weight:900;margin-top:6px;letter-spacing:-.02em}.kpi.accent-green{border-top:4px solid #59be48}.kpi.accent-blue{border-top:4px solid #20a9df}.kpi.accent-purple{border-top:4px solid #a961d5}.kpi.accent-orange{border-top:4px solid #f5a400}.good{color:var(--good)}.bad{color:var(--bad)}.warn{color:var(--warn)}
.section{background:rgba(255,255,255,.92);border:1px solid #cfe3e6;border-radius:15px;padding:17px;margin-top:16px;box-shadow:inset 0 2px 1px #fff,var(--shadow)}.section h2{font-size:17px;margin:0 0 13px;display:flex;align-items:center;gap:7px}.two{grid-template-columns:1.2fr .8fr}.three{grid-template-columns:repeat(3,1fr)}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px;border-bottom:1px solid #dcebed;vertical-align:middle}th{font-size:11px;color:#68878e;text-transform:uppercase;letter-spacing:.04em}tr:last-child td{border-bottom:0}.thumb{width:54px;height:54px;border-radius:10px;object-fit:cover;background:#eef7f8;border:1px solid var(--line)}.placeholder{display:grid;place-items:center;font-size:10px;color:var(--muted)}.badge{display:inline-block;border-radius:999px;padding:4px 9px;font-size:12px;background:#e4f5f6;color:#0b7a82;border:1px solid #bfe6e8;font-weight:700}.formgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.formgrid .wide{grid-column:span 2}.formgrid .full{grid-column:1/-1}label{font-size:12px;color:#648088;display:block;margin-bottom:4px;font-weight:650}input,select,textarea{width:100%;border:1px solid #c8dfe2;border-radius:9px;padding:10px 11px;background:#fff;font:inherit;color:var(--text);box-shadow:inset 0 1px 2px rgba(15,83,89,.06)}input:focus,select:focus,textarea:focus{outline:none;border-color:#38bfc5;box-shadow:0 0 0 3px #38bfc522}textarea{min-height:76px}button,.btn{border:1px solid #087f88;background:linear-gradient(#31c9cf,#07949d);color:#fff;border-radius:9px;padding:10px 15px;font-weight:800;cursor:pointer;display:inline-block;box-shadow:inset 0 2px 1px #77e4e8,inset 0 -2px 2px #006c73,0 3px 7px #0b8f9840;text-shadow:0 1px 1px #09676d}.btn:hover,button:hover{filter:brightness(1.04);transform:translateY(-1px)}.btn.secondary{background:linear-gradient(#fff,#eaf4f5);color:#17616a;border:1px solid #b9d8dc;text-shadow:none;box-shadow:inset 0 2px 1px #fff,0 3px 6px #164e5320}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:11px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:13px}.productcard{background:#fff;border:1px solid #cce3e5;border-radius:13px;overflow:hidden;box-shadow:var(--shadow)}.productcard img,.productcard .noimg{width:100%;height:145px;object-fit:cover;background:#edf7f8}.productcard .noimg{display:grid;place-items:center;color:#8b9ea3;font-size:13px}.productcard .body{padding:12px}.productcard h3{margin:0 0 4px;font-size:15px}.mini{font-size:12px;color:var(--muted)}.rowstats{display:flex;justify-content:space-between;gap:8px;margin-top:10px;font-size:13px}.empty{padding:20px;color:var(--muted);text-align:center}.statusbar{position:fixed;left:260px;right:0;bottom:0;z-index:15;background:linear-gradient(#21bec4,#078d96);color:white;display:flex;justify-content:space-between;gap:18px;padding:8px 18px;font-size:12px;box-shadow:0 -2px 8px #075c6250;border-top:1px solid #006d74}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;border-radius:12px;color:white;font-weight:800;border:1px solid rgba(0,0,0,.1);box-shadow:inset 0 2px 1px rgba(255,255,255,.55),inset 0 -3px 3px rgba(0,0,0,.15),0 4px 8px rgba(30,80,86,.15)}.quick:nth-child(1){background:linear-gradient(#78cf52,#36a733)}.quick:nth-child(2){background:linear-gradient(#48b4ef,#157ec5)}.quick:nth-child(3){background:linear-gradient(#bd72df,#8b3db4)}.quick:nth-child(4){background:linear-gradient(#ffb21d,#e88300)}.quick:nth-child(5){background:linear-gradient(#ff806a,#d94a36)}.quick:nth-child(6){background:linear-gradient(#43c8cb,#08959d)}.equipment-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.equip-mini{border:1px solid #c8e0e3;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 3px 9px #1b707722}.equip-mini img,.equip-mini .equip-noimg{width:100%;height:105px;object-fit:cover;background:linear-gradient(#eefafa,#d9eff1);display:grid;place-items:center;font-size:34px}.equip-mini .body{padding:10px}.equip-mini b{display:block;font-size:13px}.equip-mini small{color:var(--muted)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#39b933;margin-right:4px}.hero-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;background:linear-gradient(120deg,#ffffff,#eafafa);border:1px solid #cce6e8;border-radius:15px;padding:16px 18px;box-shadow:var(--shadow);margin-bottom:15px}.hero-row h1{margin:0;font-size:28px}.hero-note{color:#e67612;font-family:Georgia,serif;font-style:italic;font-weight:700}.hero-icon{font-size:46px;filter:drop-shadow(0 3px 4px #0a788055)}
@media(max-width:1250px){.app-shell{grid-template-columns:220px 1fr}.statusbar{left:220px}.kpis{grid-template-columns:repeat(3,1fr)}.formgrid{grid-template-columns:repeat(2,1fr)}.two,.three{grid-template-columns:1fr}.brand-title{font-size:18px}.brand-sub{font-size:12px}.sidebar{padding:12px 10px}.side-nav a{padding:10px}}
@media(max-width:820px){.app-shell{display:block}.sidebar{position:relative;height:auto;border-right:0;padding:8px 10px}.brand-block{padding-bottom:8px}.side-nav{display:grid;grid-template-columns:repeat(2,1fr)}.sidebar-bottom{display:none}.main-area{padding-bottom:0}.mobile-top{display:none}.wrap{padding:14px}.statusbar{position:static;left:0;flex-wrap:wrap}.kpis{grid-template-columns:repeat(2,1fr)}.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:span 1}.pagehead{align-items:flex-start;flex-direction:column}.quick-actions{grid-template-columns:repeat(2,1fr)}table{display:block;overflow-x:auto}}
@media(max-width:520px){.side-nav{grid-template-columns:1fr}.brand-title{font-size:17px}.kpis{grid-template-columns:1fr}.hero-row{grid-template-columns:1fr}.hero-icon{display:none}}

/* V2.0 collaborative + application hub additions */
.logout-link{display:block;text-align:center;margin-top:10px;color:#d9ffff;text-decoration:none;font-size:13px}.login-body,.hub-body{margin:0;min-height:100vh;background:linear-gradient(135deg,#eafffb,#dff7f6 45%,#f9ffff);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#173b3d}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;max-width:1040px;margin:auto;padding:40px;gap:44px}.login-brand{padding:30px}.login-brand h1{font-size:54px;margin:10px 0;color:#0c6f72}.login-brand p{font-size:20px;color:#55787a}.login-icon{width:82px;height:82px;border-radius:26px;display:grid;place-items:center;font-size:42px;background:linear-gradient(#84eee8,#2db7b6);box-shadow:inset 0 2px 2px #dffffe,0 12px 28px #52aaa95c}.login-card{background:#fff;padding:34px;border-radius:28px;box-shadow:0 20px 60px #2e7d7d28;border:1px solid #c6efec}.login-card h2{font-size:28px;margin:0 0 6px}.login-card label{display:block;font-weight:700;margin:18px 0}.login-card input{width:100%;box-sizing:border-box;margin-top:8px;padding:14px 16px;border:1px solid #b9ddda;border-radius:14px;font-size:16px;background:#f9ffff}.login-card button{width:100%;margin-top:8px}.login-card small{display:block;margin-top:18px;color:#789394}.alert.error{background:#fff0f0;color:#9b3131;padding:11px 14px;border-radius:12px;border:1px solid #f1cccc;margin:12px 0}.bevel{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:14px;text-decoration:none;border:1px solid #7fcfcb;background:linear-gradient(#ffffff,#dff8f5);color:#176d70;font-weight:800;box-shadow:inset 0 2px 0 #fff,0 4px 8px #207b7b24;cursor:pointer}.bevel.primary{background:linear-gradient(#61ddd7,#24aaa9);border-color:#1e9a99;color:white;text-shadow:0 1px 0 #15716f;box-shadow:inset 0 2px 0 #a8f5f1,0 5px 10px #207b7b34}.bevel:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #1b7c7c33}.hub-top{height:84px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,#dff9f6,#f8ffff);border-bottom:1px solid #c6efec;position:sticky;top:0;z-index:5}.hub-top>div:first-child{display:flex;align-items:center;gap:14px}.hub-logo{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(#72e5df,#2eb5b3);color:white;font-size:26px;box-shadow:inset 0 2px 0 #bffffb,0 6px 12px #207b7b28}.hub-top b{display:block;color:#0b6568;font-size:18px}.hub-top small{display:block;color:#6f8d8e}.hub-user{text-align:right}.hub-user span,.hub-user b,.hub-user a{display:block}.hub-user a{color:#16878a;text-decoration:none;font-size:13px;margin-top:3px}.hub-wrap{max-width:1220px;margin:auto;padding:46px 5vw 70px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}.eyebrow{font-size:12px;letter-spacing:.18em;color:#219a9b;font-weight:900}.hero h1{font-size:42px;margin:7px 0 10px;color:#155e61}.hero p{margin:0;color:#668587;font-size:18px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.app-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.app-card{background:#fff;border:1px solid #c7eeeb;border-radius:24px;padding:24px;box-shadow:0 12px 30px #2b7e7d18;min-height:230px;display:flex;flex-direction:column}.app-card.disabled{opacity:.62;background:#f7fbfb}.app-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:29px;background:linear-gradient(#e9fffd,#c8f4ef);box-shadow:inset 0 2px 0 white,0 5px 11px #188d8d1c}.app-card h3{margin:18px 0 8px;color:#165f61}.app-card p{color:#668587;line-height:1.45;flex:1}.coming{font-size:13px;font-weight:800;color:#799293}.hub-panel{margin-top:26px;background:white;border:1px solid #c7eeeb;border-radius:24px;padding:24px;box-shadow:0 12px 30px #2b7e7d12}.section-head{display:flex;justify-content:space-between;align-items:center}.section-head h2{color:#166669}.section-head a{color:#16878a}.activity-list>div{display:grid;grid-template-columns:150px 1fr 170px;gap:16px;padding:12px 0;border-top:1px solid #e5f3f2}.activity-list small{text-align:right;color:#789394}.two-col{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(450px,1.2fr);gap:20px}.form-grid label{display:block;font-weight:700}.form-grid input,.form-grid select{width:100%;box-sizing:border-box;padding:11px 12px;margin-top:6px;border:1px solid #b7dcda;border-radius:10px;background:white}.form-grid .span-2{grid-column:1/-1}
@media(max-width:980px){.app-grid{grid-template-columns:repeat(2,1fr)}.login-shell{grid-template-columns:1fr}.login-brand{display:none}.two-col{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.activity-list>div{grid-template-columns:1fr}.activity-list small{text-align:left}}
@media(max-width:620px){.app-grid{grid-template-columns:1fr}.hub-wrap{padding-top:28px}.hero h1{font-size:34px}.hub-top{padding:0 18px}.hub-user span{display:none}}
