@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',system-ui,-apple-system,sans-serif;color:#202c2d;background:#f6f8f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}h1,h2{font-family:Manrope,'DM Sans',sans-serif;letter-spacing:-.04em}h1{font-size:clamp(26px,2.7vw,38px);line-height:1.2;margin-bottom:8px}h2{font-size:18px;margin-bottom:16px}.shell{display:flex;min-height:100vh}.sidebar{background:#16362e;width:238px;flex:0 0 238px;color:#b3c6bd;min-height:100vh;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:30px 16px 22px}.brand{display:flex;align-items:center;gap:10px;color:#fff;font-family:Manrope,sans-serif;font-size:32px;letter-spacing:-.065em;font-weight:800;padding-left:11px;margin-bottom:44px;line-height:1}.brand-icon{display:grid;place-items:center;background:#c1ed88;color:#14382c;font-family:system-ui;font-size:30px;font-weight:900;width:39px;height:39px;border-radius:11px;letter-spacing:0}.brand small{display:block;font:500 10px 'DM Sans',sans-serif;letter-spacing:.09em;color:#b6c7c0;padding-top:6px}nav{display:flex;flex-direction:column;gap:5px}nav a{display:flex;align-items:center;gap:12px;border-radius:10px;padding:12px 15px;font-size:13px;font-weight:600;transition:.2s}nav a span{font-size:20px;width:21px;text-align:center;font-weight:400}nav a:hover,nav a.on{background:#2a5041;color:white}nav a.on:before{position:absolute;content:'';left:0;height:31px;width:3px;background:#c0ec87;border-radius:0 3px 3px 0}.nav-label{margin:30px 14px 10px;color:#789b89;font-size:10px;font-weight:800;letter-spacing:.13em}.sidebar-bottom{margin-top:auto;padding:16px 15px 0;border-top:1px solid #315147;font-size:11px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.online{background:#a4df78;width:7px;height:7px;border-radius:50%}.logout{border:0;background:transparent;color:#b3c6bd;font-size:11px;text-decoration:underline;margin-left:6px}.shell>main{flex:1;min-width:0}.topbar{height:80px;background:#fff;border-bottom:1px solid #e8eeea;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(22px,3.2vw,54px)}.top-eyebrow,.eyebrow{font-size:10px;font-weight:800;letter-spacing:.15em;color:#719184}.top-time{font-size:12px;color:#6c7f76}.mobile-brand{display:none}.content{padding:38px clamp(20px,3.2vw,54px) 70px;max-width:1800px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.heading p,.section-heading p{margin:0;color:#76837e;font-size:13px}.eyebrow{margin-bottom:11px;color:#4c8966}.button{display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid #dce6df;background:#fff;color:#30443c;border-radius:9px;padding:11px 16px;font-size:12px;font-weight:700;white-space:nowrap;transition:.15s}.button:hover{background:#edf3ee;border-color:#bacfc2}.button.primary{background:#206548;border-color:#206548;color:#fff}.button.primary:hover{background:#164e38}.button.small{padding:7px 10px;font-size:11px}.button.full{width:100%;justify-content:space-between}.danger-outline{color:#a44343;border-color:#f0d2d2}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:42px}.stat{background:#fff;border:1px solid #e9efea;border-radius:14px;padding:22px 22px 18px;min-height:166px;display:flex;flex-direction:column;justify-content:space-between}.stat>span{color:#7b8b82;letter-spacing:.1em;font-size:10px;font-weight:800}.stat strong{font:800 41px Manrope,sans-serif;letter-spacing:-.07em;color:#253c33}.stat strong em{font-size:16px;font-style:normal}.stat small{font-size:12px;color:#7b8a81}.stat small b{float:right;font-size:16px;color:#266548}.stat.accent{background:#dff0cb;border-color:#dff0cb}.stat.accent>span,.stat.accent small{color:#386347}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}.section-heading h2{margin-bottom:5px}.text-link{font-weight:700;color:#1b6b4c;font-size:12px}.panel{background:#fff;border:1px solid #e7eee9;border-radius:13px;padding:24px}.table-panel{padding:0}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:10px;letter-spacing:.07em;color:#829188;font-weight:800;background:#fbfcfa}th,td{padding:16px 19px;border-bottom:1px solid #eef2ef}td{font-size:12px;color:#56665d}td a:hover{color:#146643}tbody tr:last-child td{border-bottom:0}.strong{font-weight:700;color:#2b3f36}.pill{display:inline-block;color:#376a4d;background:#e7f3e8;padding:6px 10px;border-radius:100px;font-size:10px;font-weight:700}.pill.muted{background:#edf0ef;color:#7c8a85}.empty-state{padding:32px;text-align:center;color:#89948f}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px;margin-top:20px}.quick{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #e7eee9;border-radius:13px;padding:24px}.quick:hover{border-color:#96c0a9}.quick-icon{background:#e7f3e9;border-radius:10px;padding:13px 17px;font-size:26px;color:#286649}.quick strong{font-size:14px}.quick p{font-size:12px;color:#809087;margin:5px 0 0}.quick>span:last-child{margin-left:auto;font-size:22px;color:#1f684a}.split{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;align-items:start}.split.wide-left{grid-template-columns:1.8fr 1fr}.split .panel{min-width:0}.item-list{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid #ecf1ed;font-size:12px}.list-item:last-child{border-bottom:0}.list-item:hover .grow strong{color:#1b744d}.square-icon{border-radius:10px;background:#e7f2e8;color:#276347;font-size:24px;width:42px;height:42px;display:grid;place-items:center}.grow{flex:1}.grow strong,.grow small{display:block}.grow strong{color:#284033}.grow small{margin-top:4px;color:#87968d}.form-stack{display:flex;flex-direction:column;gap:17px}.form-stack.compact{gap:8px;padding-top:12px}.form-stack label,.row-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#3b5143;font-size:12px}input,select,textarea{border:1px solid #dae5dd;border-radius:9px;background:#fff;width:100%;padding:11px 12px;color:#293e34;outline:none;min-width:0}input:focus,select:focus,textarea:focus{border-color:#39795a;box-shadow:0 0 0 3px #d8edde}textarea{resize:vertical}.hint{font-size:11px;color:#82958a;line-height:1.65;margin:12px 0 0}.spaced{margin-top:20px}.row-form{display:flex;gap:14px;flex-wrap:wrap;align-items:end;margin-bottom:22px}.row-form label{flex:1;min-width:130px}.row-form .button{margin-bottom:0}.inline-form{display:flex;gap:8px;align-items:center}.inline-form select,.inline-form input{min-width:110px}.tiny-input{width:82px!important}.link-danger{border:0;color:#b45858;background:none;padding:4px;font-size:11px;font-weight:700;cursor:pointer}.link-danger:hover{text-decoration:underline}.muted-text{color:#83948b;font-size:12px}.back{display:inline-block;font-size:12px;font-weight:700;color:#4e805f;margin-bottom:20px}.form-panel{max-width:850px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.highlight-fields{padding:18px;border:1px solid #dcebd9;border-radius:12px;background:#f1f8ed}.manual{padding:15px;border-radius:10px;border:1px solid #e2e9e3}.manual summary{font-size:12px;font-weight:700;cursor:pointer;color:#276c4a}.manual .form-grid{margin-top:18px}.form-actions{display:flex;gap:10px;margin-top:4px}.header-actions{display:flex;gap:9px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 26px}.detail{background:#fff;border:1px solid #e5ede7;border-radius:13px;padding:22px;display:flex;flex-direction:column;gap:10px}.detail span{font-size:10px;letter-spacing:.1em;font-weight:800;color:#89988e}.detail strong{font:800 18px Manrope,sans-serif;letter-spacing:-.045em;color:#254e38}.detail small{font-size:11px;color:#819288}.bottom-danger{display:flex;justify-content:end;margin-top:25px}.preline{white-space:pre-line;font-size:13px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px;flex-wrap:wrap}.calendar-nav{display:flex;gap:8px}.calendar-panel{padding:0;overflow:hidden}.calendar-scroll{overflow:auto}.calendar-grid{min-width:1100px}.calendar-grid th{padding:13px 4px;text-align:center;width:5.7%;font-size:10px}.calendar-grid th:first-child{min-width:240px;text-align:left;padding-left:22px;position:sticky;left:0;z-index:2;background:#fbfcfa}.calendar-grid th span,.calendar-grid th strong{display:block}.calendar-grid th strong{color:#3f5749;font-size:12px;padding-top:4px}.calendar-grid td{padding:9px 3px;text-align:center}.calendar-grid td:first-child{text-align:left;padding:13px 16px;position:sticky;left:0;z-index:1;background:#fff;box-shadow:2px 0 5px #e9f0eb}.calendar-grid td:first-child strong,.calendar-grid td:first-child small{display:block}.calendar-grid td:first-child small{margin-top:5px;color:#92a096}.availability{border-radius:7px;padding:10px 3px;font-weight:800;min-width:31px}.availability.free{background:#e5f3e8;color:#2b7e51}.availability.low{background:#fff0d5;color:#9a6a27}.availability.empty{background:#f9e2e2;color:#c25050}.legend{display:flex;gap:20px;margin-top:19px;flex-wrap:wrap;font-size:11px;color:#829289}.legend span{display:flex;align-items:center;gap:7px}.dot{width:11px;height:11px;display:inline-block;border-radius:3px}.dot.free{background:#86cf9c}.dot.low{background:#f1ca84}.dot.empty{background:#e6a4a4}.alert{padding:14px 18px;margin-bottom:18px;border-radius:10px;border:1px solid #cce4d2;color:#26613c;background:#eaf7ed;font-size:12px}.alert.error{background:#fff0ef;border-color:#efd7d5;color:#a34444}.alert.warn{background:#fff4df;border-color:#f0dab3;color:#95682f}.status-form{display:flex;align-items:center;gap:8px;margin:9px 0 1px}.status-form input[name=name]{max-width:220px}.status-form .checkbox-label{white-space:nowrap}.checkbox-label{display:flex!important;flex-direction:row!important;align-items:center;gap:7px;font-size:11px!important}.checkbox-label input{width:auto;accent-color:#246e4d}.archive-inline{margin-bottom:16px}.subtle-link{border:0;background:none;color:#8a9890;font-size:10px;padding:0;text-decoration:underline}.login-page{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 18% 16%,#e7f3e5 0,transparent 40%),#f4f8f5}.login-card{background:white;border:1px solid #e3eae4;border-radius:19px;width:min(440px,calc(100% - 32px));padding:42px;box-shadow:0 16px 60px #254d3210}.login-card .brand.big{color:#153e2f;padding:0;margin:0 0 32px;font-size:37px}.login-card h1{font-size:25px}.login-card p{font-size:13px;color:#7d8e82;line-height:1.6;margin-bottom:28px}.login-card label{display:block;font-weight:700;font-size:12px;margin-bottom:7px}.login-card input{margin-bottom:18px}.login-card .button{padding:13px}.logout:hover{color:white}hr{border:0;border-top:1px solid #e9eee9;margin:18px 0}details summary{cursor:pointer}.archive-inline{display:flex}::selection{background:#d3ebcb;color:#17482d}
@media(max-width:1050px){.sidebar{width:195px;flex-basis:195px}.stat-grid{grid-template-columns:repeat(2,1fr)}.split,.split.wide-left{grid-template-columns:1fr}.content{padding:28px 23px}.detail-grid{grid-template-columns:1fr}}
@media(max-width:700px){.shell{display:block}.sidebar{position:relative;top:auto;width:100%;height:auto;min-height:unset;flex-direction:row;align-items:center;flex-wrap:wrap;padding:12px 16px;gap:4px}.sidebar .brand{margin:0 8px 0 0;font-size:26px;padding:0}.sidebar .brand small{display:none}.sidebar .brand-icon{width:32px;height:32px;font-size:23px}.sidebar nav{display:flex;flex:1;flex-direction:row;overflow:auto;gap:2px}.sidebar nav a{white-space:nowrap;padding:9px 10px;font-size:11px}.sidebar nav a span,.nav-label,.sidebar-bottom{display:none}.topbar{height:48px;padding:0 18px}.content{padding:25px 15px 50px}.heading{align-items:start;flex-direction:column}.heading .button{width:auto}.stat-grid{gap:9px;margin-bottom:25px}.stat{min-height:130px;padding:16px}.stat strong{font-size:29px}.quick-grid{grid-template-columns:1fr}.panel{padding:17px}.form-grid{grid-template-columns:1fr}.detail-grid{gap:8px}.header-actions{width:100%;flex-wrap:wrap}.row-form{flex-direction:column;align-items:stretch}.row-form label{width:100%}.calendar-nav .button{padding:10px 9px}.status-form{flex-wrap:wrap}}

/* Flyt 0.1.1: synlige arrangementer, reservasjons- og leveransestatuser */
.calendar-grid{min-width:2450px;table-layout:fixed}
.calendar-grid th:first-child{width:250px;min-width:250px}
.calendar-grid th:not(:first-child),.calendar-grid td:not(:first-child){width:155px;min-width:155px}
.calendar-grid td{vertical-align:top;padding:7px 4px}
.calendar-grid td:first-child{vertical-align:middle}
.calendar-cell{display:flex;flex-direction:column;gap:6px;min-height:48px}
.calendar-cell .availability{padding:7px 3px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px}
.calendar-cell .availability small{font-size:9px;font-weight:600}
.calendar-booking{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:7px 7px 7px 9px;border-left:4px solid var(--booking-color);border-radius:5px;background:color-mix(in srgb,var(--booking-color) 10%,white);text-align:left;white-space:normal;overflow-wrap:anywhere;color:#30453b;font-size:10px;line-height:1.35;transition:background .1s}
.calendar-booking:hover,.calendar-booking:focus-visible{background:color-mix(in srgb,var(--booking-color) 22%,white);color:#1b3426;outline-offset:1px}
.calendar-booking .booking-name{font-size:11px;font-weight:800;line-height:1.25}
.calendar-booking .booking-meta,.calendar-booking .delivery-meta{font-size:10px;font-weight:600;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.calendar-booking .delivery-meta{color:#69766e}
.calendar-booking .nonblocking{font-size:9px;color:#69766e}
.calendar-booking.tentative{border-left-style:dashed;opacity:.75}
.status-dot{display:inline-block;background:var(--booking-color);width:9px;height:9px;min-width:9px;border-radius:50%;vertical-align:middle}
.delivery-meta .status-dot{background:var(--delivery-color)}
.status-legend{display:flex;align-items:center;gap:8px 15px;flex-wrap:wrap;margin-top:15px;font-size:11px;color:#607469}
.status-legend>a{font-weight:700;color:#26714f}
.status-key{display:inline-flex;align-items:center;gap:5px;border:1px solid #e4eae5;border-radius:30px;background:#fff;padding:5px 9px}
.pill.status-pill{display:inline-flex;align-items:center;gap:6px;border-left:3px solid var(--booking-color);background:color-mix(in srgb,var(--booking-color) 10%,white);color:#36534a}
.color-choice{display:flex!important;align-items:center;flex-direction:row!important;gap:6px;font-size:10px!important;color:#74867b!important;white-space:nowrap}
.color-choice input[type=color]{padding:2px;width:36px;height:33px;border-radius:6px;min-width:36px;cursor:pointer}

/* v0.1.2: compact equipment dimensions */
.equipment-sub{font-size:11px;color:#8a9990;margin-top:4px;white-space:normal}.equipment-info{display:flex;flex-direction:column;gap:4px;font-size:11px;white-space:normal}.equipment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.equipment-fields label{min-width:0}@media(max-width:700px){.equipment-fields{grid-template-columns:1fr}}
