:root{--bg:#f3f5f8;--surface:#fff;--ink:#1a1d2e;--muted:#5a6178;--line:#d5dce8;--accent:#202860;--accent-mid:#6888b0;--accent-soft:#e4ebf5;--intern:#9a4d1c;--danger:#9b2c2c;--skapad:#4b5563;--pagaende:#202860;--avslutad:#8a6a2f;--weekend:#f6f7fa;--outside:#9aa3b0;color:var(--ink);background:var(--bg);font-family:system-ui,Liberation Sans,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg)}a{color:var(--accent);text-decoration:none}h1,h2,h3{margin:0 0 .45rem;font-weight:650}h1{color:var(--accent);font-size:1.35rem}h2{color:var(--accent);font-size:1rem}.boot,.login{padding:2rem 1rem}.login{background:var(--surface);border:1px solid var(--line);border-radius:10px;max-width:360px;margin:4rem auto}.shell{background:var(--bg);min-height:100dvh;display:flex}.sidebar{display:none}.main-col{flex-direction:column;flex:1;min-width:0;display:flex}.mobile-top{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.7rem 1rem;display:flex}.mobile-top-right{align-items:center;gap:.65rem;display:flex}.mobile-more{position:relative}.mobile-more summary{cursor:pointer;color:var(--accent);font-weight:650;list-style:none}.mobile-more summary::-webkit-details-marker{display:none}.mobile-more-panel{z-index:25;background:var(--surface);border:1px solid var(--line);flex-direction:column;min-width:10.5rem;padding:.35rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0}.mobile-more-panel a,.mobile-more-panel button{text-align:left;color:var(--ink);background:0 0;border-radius:6px;padding:.55rem .65rem}.mobile-more-panel a.active{background:var(--accent-soft);color:var(--accent);font-weight:650}.brand{color:var(--accent);letter-spacing:.01em;align-items:center;gap:.45rem;font-weight:750;display:inline-flex}.brand-logo{flex-shrink:0;width:auto;height:1.75rem;display:block}.login-logo{width:auto;height:3.2rem;margin:0 auto .4rem;display:block}.main{padding:.75rem .85rem calc(8.25rem + env(safe-area-inset-bottom,0px));flex:1;min-width:0}.tabbar{background:var(--surface);border-top:1px solid var(--line);padding:.1rem 0 calc(.15rem + env(safe-area-inset-bottom,0px));z-index:20;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{text-align:center;color:var(--muted);padding:.7rem .4rem;font-size:.88rem;font-weight:600}.tabbar a.active{color:var(--accent)}@media (width<=879px){.order-tabs{flex-wrap:wrap;max-width:100%;display:flex}.order-tabs button{flex:calc(33.33% - 1px)}}.toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.85rem;display:flex}.toolbar h1{flex:1;min-width:8rem;margin:0}.cal-tools{flex-direction:column;gap:.35rem;margin-bottom:.55rem;display:flex}.period-row{align-items:center;gap:.35rem;display:flex}.period-row h1,.period{text-align:center;text-transform:capitalize;flex:1;margin:0;font-size:1.05rem}.period-row button{padding:.35rem .6rem}.cal-tools-mid{flex-wrap:wrap;align-items:flex-end;gap:.35rem;display:flex}.cal-tools-mid .btn{padding:.45rem .7rem;font-size:.88rem}.cal-tools-mid .seg button{padding:.4rem .55rem;font-size:.85rem}.person-filter{flex:7rem;min-width:7rem;margin:0}.filters{background:var(--surface);border:1px solid var(--line);flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem;padding:.7rem;display:flex}.filters label{flex:1;min-width:140px}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.stack{flex-direction:column;gap:.55rem;display:flex}label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}input,select,textarea{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;padding:.55rem .6rem}textarea{min-height:72px}button,.btn{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:.55rem .9rem}button.secondary,.btn.secondary{background:var(--accent-soft);color:var(--accent)}button.ghost{color:var(--accent);background:0 0;padding-inline:.2rem}button:disabled{opacity:.55;cursor:wait}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted);font-size:.88rem}.status{min-height:1.2em;font-size:.85rem}.status.ok{color:var(--accent)}.status.err{color:var(--danger)}.st{background:#eef0ee;border-radius:999px;padding:.12rem .45rem;font-size:.75rem;font-weight:650;display:inline-block}.st.skapad{color:var(--skapad);background:#eef0f2}.st.pagaende{color:var(--pagaende);background:var(--accent-soft)}.st.avslutad{color:var(--avslutad);background:#f4efe4}.st.billed{color:var(--accent);background:var(--accent-soft)}.order-table{border-collapse:collapse;background:var(--surface);table-layout:auto;width:100%;display:none}.order-table th,.order-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.75rem .8rem}.order-table th{color:var(--muted);background:#fafbfa;font-size:.75rem;font-weight:650}.order-table tr{cursor:pointer}.order-table tr:hover td{background:var(--accent-soft)}.order-cards{flex-direction:column;gap:.55rem;display:flex}.order-card{background:var(--surface);border:1px solid var(--line);color:inherit;padding:.95rem;display:block}.order-card small{color:var(--muted);margin-top:.25rem;display:block}.detail-head{background:var(--surface);border:1px solid var(--line);margin-bottom:.75rem;padding:.75rem .9rem}.detail-head.compact h1{margin:.15rem 0 .25rem;font-size:1.15rem}.order-head-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.order-meta{margin:.15rem 0;font-size:.9rem}.detail-head .actions{margin-top:.45rem}.detail-head .status-row{align-items:flex-end;margin-top:.25rem}.billed-head{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.4rem;display:flex}.overview-grid{flex-direction:column;gap:.45rem;width:100%;margin-top:.5rem;display:flex}.card.tight{margin-bottom:0;padding:.55rem .7rem}.card.tight h2{margin-bottom:.2rem;font-size:.88rem}.card.tight p{margin:.15rem 0}.dl{grid-template-columns:7.2rem minmax(0,1fr);gap:.12rem .55rem;margin:.2rem 0 0;font-size:.88rem;display:grid}.dl dt{color:var(--muted);font-size:.78rem}.dl dd{margin:0}.field-cap{color:var(--muted);margin-bottom:.25rem;font-size:.8rem}.check-list{flex-direction:column;gap:.2rem;display:flex}.check-row{color:var(--ink);flex-direction:row;align-items:center;gap:.45rem;font-size:.9rem;display:flex}.check-row input{width:auto;margin:0}.order-tabs{margin-bottom:.5rem}.form-grid{gap:.55rem;display:grid}.form-grid .span2{grid-column:1/-1}.panel-back{z-index:30;background:#1a1f1c59;position:fixed;inset:0}.panel{z-index:31;background:var(--surface);padding:1rem;position:fixed;inset:0;overflow:auto}.panel h2{margin-bottom:.8rem}.seg{border:1px solid var(--line);background:var(--surface);display:inline-flex}.seg button{color:var(--ink);background:0 0;border-radius:0;padding:.5rem .75rem}.seg button.on{background:var(--accent);color:#fff}.order-tabs{flex-wrap:wrap}.order-tabs button{font-size:.85rem}.sums{background:var(--surface);border:1px solid var(--line);margin-bottom:.55rem;padding:.3rem .55rem}.sums summary{cursor:pointer;font-size:.82rem;font-weight:650}.sum-line{flex-wrap:wrap;gap:.45rem;margin:.45rem 0 0;font-size:.8rem;display:flex}.sum-line>div{border:1px solid var(--line);flex:11rem;padding:.35rem .5rem}.sum-line strong{font-weight:650;display:block}.split{color:var(--ink);flex-wrap:wrap;gap:.35rem .7rem;font-size:.82rem;display:flex}.sum-item{display:block}.sum-item.work{color:var(--accent)}.sum-item.intern{color:var(--intern)}.sum-item.exp{color:var(--muted);font-size:.78rem}.form-page{background:var(--surface);border:1px solid var(--line);max-width:40rem;padding:1rem}.month{border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month .hd{color:var(--muted);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafbfa;padding:.4rem .35rem;font-size:.72rem;font-weight:650}.mcell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:4.4rem;color:var(--ink);text-align:left;background:#fff;flex-direction:column;gap:3px;padding:.28rem;display:flex}.day-pick{color:inherit;text-align:left;min-width:1.4rem;font-weight:650;font-size:inherit;background:0 0;border-radius:4px;padding:.1rem .15rem}.week-cell .day-pick{color:var(--accent);padding:.05rem 0;font-size:.68rem;font-weight:650}.mcell.weekend{background:var(--weekend)}.mcell.outside,.mcell.outside .d{color:var(--outside)}.mcell.today,.mcell.picked,.wcell.today,.wcell.picked{outline:2px solid var(--accent);outline-offset:-2px}.mcell .d{justify-content:space-between;font-size:.78rem;font-weight:650;display:flex}.plus{color:var(--accent);font-size:.8rem;font-weight:650}.post{border:1px solid var(--line);background:var(--accent-soft);color:var(--ink);min-height:1.85rem;padding:.28rem .3rem;font-size:.72rem;line-height:1.25;text-decoration:none;display:block}.post.intern{color:var(--intern);background:#f8eee6;border-color:#ead8c8}.post em,.entry em{margin-left:.2rem;font-size:.68rem;font-style:normal;font-weight:650}.post-mob{display:inline}.post-desk{display:none}.more{color:var(--accent);text-align:left;background:0 0;border-radius:0;padding:.15rem 0;font-size:.72rem;font-weight:650}.day-detail{background:var(--surface);border:1px solid var(--line);max-height:none;margin-top:.75rem;margin-bottom:.5rem;padding:.75rem;position:static;overflow:visible}.week-mob{padding-bottom:.35rem}.entry-cards{padding-bottom:.25rem}.week-desk{display:none}.week-mob{flex-direction:column;gap:.65rem;display:flex}.week-person{background:var(--surface);border:1px solid var(--line);padding:.65rem}.week-person h3{margin:0 0 .4rem;font-size:.92rem}.wdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.wcell{border:1px solid var(--line);min-width:0;min-height:3.6rem;color:inherit;text-align:left;background:#fafbfa;border-radius:0;padding:4px 2px;font-size:.7rem}.wcell-split{flex-direction:column;gap:1px;font-size:.65rem;font-weight:650;display:flex}.week-cell{cursor:default;flex-direction:column;gap:3px;display:flex}.week-cell.picked,.week-grid .picked{outline:2px solid var(--accent);outline-offset:-2px}.day-split{font-size:.68rem;line-height:1.3}.wcell .wd{color:var(--muted);font-size:.65rem}.wsum{color:var(--muted);margin-top:.35rem;font-size:.8rem}.day-view{flex-direction:column;gap:.7rem;display:flex}.day-person{background:var(--surface);border:1px solid var(--line);padding:.8rem}.entry{border-bottom:1px solid var(--line);color:inherit;justify-content:space-between;gap:.6rem;padding:.65rem .15rem;display:flex}.entry.work{border-left:3px solid var(--accent);padding-left:.55rem}.entry.intern{border-left:3px solid var(--intern);padding-left:.55rem}.entry:last-child{border-bottom:0}.entry small{color:var(--muted);display:block}.card{background:var(--surface);border:1px solid var(--line);margin-bottom:.7rem;padding:.85rem}.list{flex-direction:column;display:flex}.item{border-bottom:1px solid var(--line);text-align:left;width:100%;color:inherit;background:0 0;border-radius:0;justify-content:space-between;gap:.6rem;padding:.65rem 0;display:flex}.item small{color:var(--muted);display:block}.pill{font-size:.75rem;font-weight:650;display:inline-block}.pill.skapad{color:var(--skapad)}.pill.pagaende{color:var(--pagaende)}.pill.avslutad{color:var(--avslutad)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.45rem .35rem}.desktop-only{display:none}.mobile-only{display:block}.entry-cards{flex-direction:column;gap:.5rem;display:flex}.entry-card{background:var(--surface);border:1px solid var(--line);color:inherit;border-left:3px solid var(--accent);padding:.7rem .8rem;display:block}.entry-card.intern{border-left-color:var(--intern)}.code-legend{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin:0 0 .7rem;font-size:.78rem;display:flex}.legend-chip,.post.tone-arb,.post.tone-ot16,.post.tone-ot18,.post.tone-gar,.post.tone-sjk,.post.tone-sem,.post.tone-vab,.post.tone-utb,.post.tone-bil,.post.tone-intern,.post.tone-work{border:1px solid var(--line)}.legend-chip{border-radius:4px;align-items:center;gap:.2rem;padding:.12rem .4rem;font-weight:650;display:inline-flex}.tone-arb{color:#202860;background:#dce6f5;border-color:#202860}.tone-ot16{color:#1e3a5f;background:#d4e8f7;border-color:#3d6aa1}.tone-ot18{color:#252e6b;background:#c9d4f0;border-color:#3b4a9c}.tone-gar{color:#334155;background:#e8eef5;border-color:#6888b0}.tone-sjk{color:#9a4d1c;background:#f8eee6;border-color:#c2410c}.tone-sem{color:#7c2d12;background:#f6e7d4;border-color:#b45309}.tone-vab{color:#9a3412;background:#fde8dc;border-color:#ea580c}.tone-utb{color:#5b21b6;background:#efe6f8;border-color:#7c3aed}.tone-bil{color:#7c3d12;background:#f3e8de;border-color:#a16207}.tone-intern{color:#9a4d1c;background:#f8eee6;border-color:#c2410c}.tone-work{color:#202860;background:#dce6f5;border-color:#202860}.legend-chip em,.post em{font-size:.68rem;font-style:normal;font-weight:600}.entry-card-top{justify-content:space-between;gap:.5rem;margin-bottom:.2rem;display:flex}.entry-card small{color:var(--muted);margin-top:.2rem;display:block}.data-table{width:100%}.data-table th{color:var(--muted);font-size:.75rem}@media (width>=880px){.sidebar{background:var(--accent);border-right:0;flex-direction:column;flex-shrink:0;width:220px;height:100dvh;padding:1.1rem .85rem;display:flex;position:sticky;top:0}.sidebar .brand{color:#fff}.side-nav{flex-direction:column;gap:.15rem;margin-top:1.2rem;display:flex}.side-nav a{color:#d6e2f0;border-radius:6px;padding:.5rem .55rem}.side-nav a.active{background:var(--accent-mid);color:#fff;font-weight:650}.side-account{border-top:1px solid #3a4578;margin-top:auto;padding-top:1rem}.side-name{color:#fff;margin-bottom:.25rem;font-size:.88rem}.sidebar button.ghost{color:#c5d4ea}.mobile-top,.tabbar{display:none}.main{padding:1.35rem 1.6rem 2rem}.order-table{display:table}.order-cards{display:none}.panel{border-left:1px solid var(--line);width:400px;inset:0 0 0 auto}.panel.wide{width:min(520px,100%)}.week-desk{background:var(--surface);border:1px solid var(--line);display:block;overflow:visible}.week-grid{grid-template-columns:148px repeat(7,minmax(0,1fr)) 96px;display:grid}.week-grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:5.4rem;padding:.4rem}.week-grid .h{min-height:0;color:var(--muted);background:#fafbfa;font-size:.7rem;font-weight:650}.week-grid .name{background:#fff;font-weight:650}.week-grid .name small{margin-top:.2rem;font-weight:500;display:block}.week-mob{display:none}.mcell{min-height:6.2rem}.post{min-height:2.1rem;padding:.28rem .32rem;font-size:.76rem}.post-mob{display:none}.post-desk{display:inline}.day-detail{max-height:none;margin-bottom:0;position:static}.period-row h1,.period{text-align:left;font-size:1.35rem}.desktop-only{display:block}.mobile-only{display:none}.form-grid{grid-template-columns:1fr 1fr}.cal-tools{gap:.55rem}.sums{padding:.45rem .7rem}.order-tabs button{flex:none}}
