:root{color-scheme:dark;--bg:#101512;--panel:#171e19;--line:#ffffff12;--text:#edece3;--muted:#929d91;--accent:#c5d6ad;--serif:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#566f4b;color:white}.ambient{position:fixed;pointer-events:none;z-index:-1;inset:0;background:radial-gradient(ellipse at 75% 0%,#3a4c2624,transparent 55%)}.initial-load{height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;font:40px var(--serif)}.initial-load span{font:13px var(--sans);color:var(--muted);margin-top:16px}.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0}.brand{display:flex;gap:12px;align-items:center;font:25px var(--serif);letter-spacing:-.7px}.brand-mark{width:39px;height:39px;border:1px solid #c5d6ad42;border-radius:50%;display:grid;place-items:center;color:var(--accent)}.brand-mark .icon{width:21px;height:21px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.4px;text-transform:uppercase;color:var(--accent)}.muted{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 19px;border-radius:8px;border:1px solid transparent;background:var(--accent);color:#1a2418;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#d6e5c0;transform:translateY(-1px)}.button.secondary{background:transparent;border-color:#ffffff21;color:var(--text)}.button.secondary:hover{background:#ffffff08}.button.ghost{background:transparent;color:var(--muted);padding:9px 12px}.button.ghost:hover{color:var(--text);background:#ffffff08}.round-button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:transparent;border:1px solid #ffffff21;color:var(--text)}.round-button:hover{background:#ffffff0b}.view{animation:enter .48s cubic-bezier(.2,.75,.25,1) both}@keyframes enter{from{opacity:0;transform:translateX(45px)}to{opacity:1;transform:translateX(0)}}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
/* Innlogging */
.auth{min-height:100dvh;display:grid;grid-template-columns:1.12fr 1fr}.auth-story{position:relative;overflow:hidden;border-right:1px solid var(--line);padding:48px 7vw;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 60%,#34483280,transparent 67%),#131c16}.auth-story:after{content:'';position:absolute;inset:0;opacity:.17;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.18' filter='url(%23n)'/%3E%3C/svg%3E")}.story-content{margin:auto 0;position:relative;padding-top:70px}.story-content h1{font:clamp(48px,5vw,76px)/1.09 var(--serif);font-weight:400;letter-spacing:-2px;max-width:510px;margin:25px 0}.story-content h1 em{color:var(--accent);font-weight:400}.story-content>p{max-width:340px;color:#acb7a9;font-size:15px;line-height:1.8}.stem-art{position:absolute;right:-35px;bottom:-65px;width:220px;height:340px;opacity:.2;color:var(--accent);pointer-events:none}.auth-footer{padding-top:90px;font-size:11px;color:#81927d;letter-spacing:1px;display:flex;align-items:center;gap:10px}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:70px 45px}.auth-form{width:min(100%,350px)}.auth-form .welcome-icon{display:grid;place-items:center;width:50px;height:50px;border:1px solid #ffffff17;border-radius:14px;color:var(--accent);margin-bottom:30px;background:#ffffff03}.auth-form h2{font:38px var(--serif);font-weight:400;letter-spacing:-1px;margin:0 0 12px}.auth-form p{color:var(--muted);font-size:13px;line-height:1.8;margin-bottom:35px}.field{display:block;margin:20px 0;font-size:12px;color:#c3c9bc}.field input{display:block;width:100%;margin-top:9px;background:#ffffff03;border:1px solid #ffffff21;border-radius:7px;padding:13px 15px;color:var(--text);font-size:14px}.field input::placeholder{color:#596356}.password-wrap{position:relative}.password-wrap input{padding-right:48px}.password-toggle{position:absolute;right:8px;top:6px;width:36px;height:36px;border:0;background:none;color:var(--muted)}.auth-form .submit{width:100%;margin:12px 0 18px}.privacy{display:flex;justify-content:center;align-items:center;gap:7px;color:#6e796b;font-size:11px}.privacy .icon{width:13px;height:13px}.form-error{color:#efb4a8;font-size:12px;min-height:22px}.setup-notice{border:1px solid #c5d6ad22;background:#c5d6ad08;border-radius:8px;padding:15px;color:var(--muted);font-size:13px;line-height:1.8}.form-error:empty{display:none}
/* Bibliotek */
.shell{min-height:100dvh;display:grid;grid-template-columns:235px 1fr}.sidebar{height:100dvh;position:sticky;top:0;display:flex;flex-direction:column;border-right:1px solid var(--line);padding:38px 24px 26px;background:#111813}.sidebar .brand{font-size:24px;margin:0 2px 48px}.nav-caption{font-size:9px;letter-spacing:1.8px;text-transform:uppercase;color:#657260;padding:0 14px;margin-bottom:13px}.nav-item{display:flex;align-items:center;gap:12px;font-size:13px;padding:13px 14px;border-radius:7px;color:var(--accent);background:#c5d6ad0d;border:1px solid #c5d6ad12}.nav-item .count{margin-left:auto;font-size:10px;min-width:22px;padding:2px 5px;background:#c5d6ad12;border-radius:4px;text-align:center}.sidebar-note{margin-top:auto;padding:20px 12px 26px;border-bottom:1px solid var(--line);color:#778372;font:italic 17px/1.6 var(--serif)}.sidebar-note small{display:block;font:10px var(--sans);margin-top:14px;color:#53634f;letter-spacing:1px}.account{display:flex;align-items:center;gap:10px;padding:23px 4px 0;min-width:0}.avatar{width:32px;height:32px;border-radius:50%;background:#293526;color:var(--accent);display:grid;place-items:center;font-size:12px}.account-name{font-size:11px;max-width:105px;overflow:hidden;text-overflow:ellipsis}.account-name small{display:block;font-size:9px;color:#697762;margin-top:2px}.logout{margin-left:auto;background:transparent;border:none;color:#7c8b75;padding:5px}.logout .icon{width:17px;height:17px}.main{min-width:0}.topbar{height:87px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 48px;font-size:11px;color:#7f8a79;gap:20px}.topbar .breadcrumb{display:flex;gap:12px;align-items:center}.topbar .breadcrumb b{font-weight:400;color:#cbd0c3}.protected{display:flex;align-items:center;gap:7px;font-size:10px}.protected .icon{width:13px;height:13px;color:var(--accent)}.library{max-width:1550px;margin:auto;padding:54px 48px 24px}.library-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:42px}.library h1{font:clamp(38px,4vw,54px)/1.12 var(--serif);letter-spacing:-1.7px;font-weight:400;margin:13px 0 14px}.library-heading p{color:var(--muted);font-size:13px;margin:0}.library-heading .button{margin-bottom:7px}.collection-tools{display:flex;align-items:center;justify-content:space-between;padding:0 0 20px;border-bottom:1px solid var(--line);gap:15px}.collection-label{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:12px}.collection-label span{font-size:10px;color:var(--muted);padding:2px 7px;border:1px solid var(--line);border-radius:4px}.filters{display:flex;gap:12px}.search{position:relative}.search .icon{position:absolute;left:12px;top:11px;width:15px;height:15px;color:#73816b}.search input{width:220px;padding:9px 12px 9px 35px;border:1px solid #ffffff14;background:#ffffff02;border-radius:6px;font-size:11px;color:var(--text)}.filters select{border:1px solid #ffffff14;border-radius:6px;background:#151d17;color:#a8b1a0;font-size:11px;padding:8px 10px}.document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:32px 25px;padding:28px 0 45px}.document-card{min-width:0;display:block;border:0;padding:0;text-align:left;background:none;animation:rise .4s ease both}.document-cover{position:relative;aspect-ratio:0.79;border:1px solid #ffffff0c;border-radius:9px;background:linear-gradient(145deg,#242e25,#1b221d);display:flex;align-items:center;justify-content:center;padding:23px;overflow:hidden;transition:border-color .25s,background .25s,transform .25s}.document-card:hover .document-cover{border-color:#c5d6ad55;background:#29352a;transform:translateY(-4px)}.document-cover canvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;box-shadow:0 10px 25px #0005;border-radius:1px}.cover-placeholder{color:#576b50}.cover-placeholder .icon{width:40px;height:40px}.pdf-badge{position:absolute;left:12px;top:12px;font-size:8px;letter-spacing:1px;background:#101512b8;backdrop-filter:blur(6px);border:1px solid #ffffff12;border-radius:4px;padding:3px 6px;color:#d0d7c7}.open-indicator{position:absolute;bottom:12px;right:12px;background:var(--accent);color:#182216;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;opacity:0;transform:translateX(-6px);transition:.2s}.open-indicator .icon{width:14px;height:14px}.document-card:hover .open-indicator{opacity:1;transform:none}.document-name{font-size:12px;font-weight:500;line-height:1.5;margin:13px 0 5px;word-break:break-word}.document-meta{display:flex;gap:7px;align-items:center;font-size:10px;color:#7d8976}.library-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;color:#5f6d59;font-size:10px}.library-footer .footer-word{font:italic 16px var(--serif);color:#819077}.empty-state{grid-column:1/-1;min-height:320px;border:1px dashed #c5d6ad29;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.empty-state>.icon{color:var(--accent);width:35px;height:35px;margin-bottom:10px}.empty-state h2{font:27px var(--serif);font-weight:400;margin:10px 0}.empty-state p{color:var(--muted);max-width:350px;font-size:12px;line-height:1.9;margin:0 0 22px}.empty-state code{background:#ffffff08;padding:2px 6px;border-radius:3px}.drop-active{outline:2px dashed var(--accent);outline-offset:-12px;background:#c5d6ad08}.loading-note{grid-column:1/-1;text-align:center;padding:80px 10px;color:var(--muted);font-size:13px}
/* Leseren */
.reader{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at center,#263124,#101512 75%)}.reader-header{min-height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 35px;background:#111813d9;z-index:2}.reader-title{text-align:center;min-width:0}.reader-title h1{font:20px var(--serif);font-weight:400;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:50vw}.reader-title p{font-size:9px;color:var(--muted);margin:5px 0 0;letter-spacing:1px}.reader-actions{display:flex;align-items:center;gap:10px}.book-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:25px 55px}.book{flex-shrink:0;filter:drop-shadow(0 20px 24px #0006)}.page{background:#f5f3ec;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#37422e}.page-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.page-content canvas{max-width:100%;max-height:100%;width:auto;height:auto;display:block}.page-content:after{content:'';position:absolute;inset:0;box-shadow:inset 8px 0 14px -12px #0007;pointer-events:none}.page-loading{font:12px var(--sans);color:#8b9483}.stage-arrow{position:absolute;top:50%;z-index:3}.stage-arrow.left{left:18px}.stage-arrow.right{right:18px}.reader-bottom{display:flex;align-items:center;justify-content:space-between;padding:18px 35px 22px;border-top:1px solid var(--line);gap:15px;font-size:11px;color:var(--muted);background:#101512}.page-navigation{display:flex;align-items:center;gap:12px;color:var(--text)}.page-navigation input{width:48px;padding:6px 2px;text-align:center;border:1px solid #ffffff1a;background:#ffffff05;color:var(--text);border-radius:5px;font-size:11px}.reader-help{font-size:10px}.reader-error{max-width:420px;text-align:center;padding:35px;color:var(--muted);font-size:13px;line-height:1.8}.reader-error h2{font:28px var(--serif);color:var(--text)}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:10;border:1px solid #ffffff25;background:#283425;color:#eff3e8;border-radius:9px;padding:13px 20px;font-size:12px;max-width:90vw;box-shadow:0 10px 30px #0005;transition:.25s}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.document-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:35px}.library{padding:60px}}@media(max-width:1000px){.shell{grid-template-columns:190px 1fr}.sidebar{padding:30px 16px}.sidebar .brand{font-size:21px;gap:8px}.brand-mark{width:32px;height:32px}.library{padding:35px 28px}.topbar{padding:0 28px}.library-heading{align-items:flex-start;flex-direction:column;margin-bottom:28px;gap:20px}.collection-tools{align-items:flex-start;flex-direction:column}.filters{width:100%}.search{flex:1}.search input{width:100%}.document-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:25px 18px}.auth-story{padding:40px 5vw}.story-content h1{font-size:52px}.stem-art{width:150px;right:-45px}}@media(max-width:650px){.auth{display:block}.auth-story{padding:25px 25px 30px;border:0;border-bottom:1px solid var(--line)}.auth-story .brand{font-size:23px}.story-content{padding-top:25px}.story-content .eyebrow,.story-content>p,.auth-footer{display:none}.story-content h1{font-size:37px;letter-spacing:-1px;margin:12px 0 0;max-width:300px}.stem-art{width:110px;bottom:-100px;right:-15px}.auth-form-side{padding:35px 25px}.auth-form .welcome-icon{display:none}.auth-form h2{font-size:31px}.auth-form p{margin-bottom:25px}.shell{display:block}.sidebar{position:relative;width:100%;height:auto;padding:20px 22px;flex-direction:row;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{margin:0;font-size:23px}.nav-caption,.sidebar nav,.sidebar-note,.account-name{display:none}.account{padding:0;gap:14px}.account .logout{padding:0}.topbar{height:53px;padding:0 22px}.topbar .protected{font-size:9px}.library{padding:34px 22px 20px}.library h1{font-size:41px;margin-top:10px}.library-heading p{font-size:12px;max-width:270px}.library-heading{gap:20px}.library-heading .button{padding:10px 16px}.collection-tools{gap:16px}.filters{gap:8px}.filters select{max-width:125px;font-size:10px}.document-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 15px;padding-top:22px}.document-cover{padding:16px}.document-name{font-size:11px}.document-meta{font-size:9px}.library-footer{font-size:9px}.library-footer .footer-word{font-size:14px}.reader-header{padding:15px;gap:10px;min-height:76px}.reader-header .back-label,.reader-header .download-label{display:none}.reader-header .button{padding:10px}.reader-title h1{font-size:17px;max-width:55vw}.reader-actions{gap:6px}.reader-actions .round-button{width:36px;height:36px}.book-stage{padding:16px 20px}.stage-arrow{display:none}.reader-bottom{padding:17px 15px;justify-content:center}.reader-help,.reader-bottom>.eyebrow{display:none}.page-navigation{gap:16px}.empty-state{padding:30px 20px;min-height:330px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Brukeradministrasjon */
.admin-container{width:min(1180px,100%);padding:38px 35px;margin:auto}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:30px}.admin-links{display:flex;gap:10px;align-items:center}.admin-heading{margin:50px 0 32px}.admin-heading h1,.setup-card h1{font:48px/1.15 var(--serif);letter-spacing:-1.5px;font-weight:400;margin:15px 0}.admin-heading p{color:var(--muted);font-size:13px}.admin-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(350px,1.2fr);gap:25px;margin-bottom:38px;align-items:start}.admin-card{background:#18211a;border:1px solid var(--line);padding:30px;border-radius:12px}.admin-card h2{font:27px var(--serif);font-weight:400;margin:0 0 10px}.admin-card p{font-size:12px;color:var(--muted);line-height:1.8}.admin-card .field select{display:block;background:#111813;border:1px solid #ffffff21;border-radius:7px;padding:12px;color:var(--text);margin-top:9px;width:100%}.admin-card .button[type=submit]{margin-top:8px}.message{padding:15px 20px;border:1px solid #c5d6ad33;background:#c5d6ad0d;border-radius:8px;margin:0 0 24px;font-size:13px;color:var(--accent)}.message.error{border-color:#efb4a844;background:#efb4a808;color:#efb4a8}.users-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.users-heading>.muted{font-size:11px}.user-row{display:flex;align-items:center;gap:12px;padding:22px 0;border-bottom:1px solid var(--line)}.user-row:last-child{border:0}.user-info{min-width:0;flex:1}.user-info strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}.user-info span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.small-button{padding:7px 10px;font-size:10px}.admin-hint{border-top:1px solid var(--line);padding-top:20px;margin-bottom:0}.setup-card{max-width:540px;margin:45px auto}.setup-card h1{font-size:38px}.setup-card .button{width:100%;margin-top:12px}.topbar-links{display:flex;align-items:center;gap:25px}.admin-shortcut{font-size:11px;color:var(--accent)}.admin-nav{margin-top:9px;background:none;border-color:transparent;font-size:11px;color:var(--muted)}.admin-nav:hover{color:var(--accent);background:#ffffff04}
@media(max-width:800px){.admin-layout{grid-template-columns:1fr}.admin-container{padding:25px 22px}.admin-card{padding:24px}.admin-heading{margin-top:35px}.admin-heading h1{font-size:39px}.admin-top{align-items:flex-start;flex-direction:column}.admin-links{width:100%}.admin-links .button{font-size:11px;padding:10px 12px}.topbar-links{gap:12px}.topbar-links .protected{display:none}}@media(prefers-reduced-motion:reduce){.view{animation:none}}
/* Filtilgang for lesebrukere */
[hidden]{display:none!important}.access-card{margin:0 0 28px}.access-card h2{margin:10px 0}.admin-card h3{font-size:13px;font-weight:500;margin:24px 0 7px}.file-picker{border:1px solid var(--line);border-radius:8px;padding:14px;margin:12px 0 20px;background:#10151266}.picker-tools .field{margin:0 0 10px}.picker-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.file-choices{max-height:265px;overflow:auto;overscroll-behavior:contain}.file-choice{display:flex;align-items:flex-start;gap:11px;padding:10px 5px;border-bottom:1px solid var(--line);font-size:12px;cursor:pointer}.file-choice:last-child{border:0}.file-choice input{accent-color:var(--accent);width:17px;height:17px;flex-shrink:0;margin:1px 0}.file-choice span{overflow-wrap:anywhere}.picker-count{font-size:11px!important;border-top:1px solid var(--line);padding-top:10px;margin:9px 0 0}.picker-help{margin-top:0}.access-card .file-choices{max-height:320px}.access-card .field{max-width:540px}.user-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;max-width:180px}.user-actions .button[type=submit]{margin:0}.reader-badge{font-size:11px;color:var(--accent);padding:10px 14px;border:1px solid #c5d6ad29;border-radius:7px;background:#c5d6ad08}@media(max-width:650px){.user-row{gap:9px;flex-wrap:wrap}.user-actions{max-width:none;width:100%;justify-content:flex-start;padding-left:41px}.access-card>.users-heading{align-items:flex-start}.access-card h2{font-size:25px;overflow-wrap:anywhere}}
