@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#293d37;background:#f6f7f3;--accent:#254f43;--workspace-background:none}*{box-sizing:border-box}body{margin:0;background-image:var(--workspace-background);background-size:cover;background-attachment:fixed}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #d7ded8;background:#fff;color:#34483f;border-radius:7px;padding:10px 14px;transition:background .15s}button:hover{background:#eaf0e9}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #91bda5;outline-offset:3px}.primary{background:var(--accent);color:white;border-color:var(--accent)}.primary:hover{background:#356551}header{height:96px;border-bottom:1px solid #dfe4dc;display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#ffffffc9}.brand{display:flex;gap:12px;align-items:center;font-size:32px;text-decoration:none;color:var(--accent)}.brand span{font-family:Manrope,sans-serif;font-size:21px;font-weight:800}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:5px;font-weight:600}.header-right{display:flex;align-items:center;gap:24px}#save-status{font-size:12px;color:#758379}main{padding:52px 42px 0}.intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:52px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#708a7a}h1{font-family:Manrope,sans-serif;font-size:44px;letter-spacing:-2px;margin:12px 0}p{color:#7b877f;font-size:14px;line-height:1.6}.intro p{margin:0}.view-label{display:flex;align-items:center;gap:10px;font-size:12px;color:#728076;padding-bottom:6px}.dot{width:6px;height:6px;background:#5c8f6e;border-radius:50%}.divider{margin:0 5px;color:#c4cdc6}.workspace-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:#7f8e83;margin-bottom:22px}.workspace-top span:last-child{letter-spacing:0;font-size:12px}#boards{display:flex;gap:30px;overflow-x:auto;padding:0 4px 30px;scroll-snap-type:x proximity;min-height:360px;scrollbar-color:#abb9ad transparent;scrollbar-width:thin}.board-card{flex:0 0 calc((100% - 60px)/3);min-width:280px;scroll-snap-align:start}.card-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px}.board-title{font-size:15px;font-weight:600;background:transparent;border:0;padding:0;text-align:left;max-width:75%;overflow-wrap:anywhere}.number{font-size:10px;color:#9da89e;letter-spacing:1px}.frame{background:linear-gradient(130deg,#d8dddf 0%,#fafcfc 14%,#b2b9bd 38%,#e5e9e9 60%,#a8b0b2 100%);padding:9px;border:1px solid #afb8b9;border-radius:7px;box-shadow:0 13px 20px -13px #52635888,1px 2px 3px #152e3029;position:relative}.frame:before,.frame:after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#939b9d;border:1px solid #cdd3d4;top:2px}.frame:before{left:2px}.frame:after{right:2px}.surface{position:relative;background:#fff;width:100%;height:100%;overflow:hidden;box-shadow:inset 0 0 5px #00000012}.section{position:absolute;background:white;border-right:2px solid #171717;border-bottom:2px solid #171717;overflow:auto;padding:10px;color:#171717;font-family:Arial,sans-serif;font-size:16px;line-height:1.4;outline:none;overflow-wrap:anywhere}.section:focus{box-shadow:inset 0 0 0 2px #adcdb6}.section:empty:before{content:attr(data-placeholder);color:#b6bdb8;font-size:12px;pointer-events:none}.section img{max-width:100%}.card-meta{display:flex;justify-content:space-between;margin-top:18px;color:#889489;font-size:11px}.card-actions{display:flex;gap:6px;margin-top:14px;align-items:center}.card-actions button{padding:6px 9px;font-size:11px;background:transparent;border-color:#dfe5db}.card-actions .delete{margin-left:auto;color:#8a7771}.board-card .section{padding:8px;font-size:13px}.board-card .section:empty:before{font-size:10px}footer{border-top:1px solid #e0e5dc;display:flex;justify-content:space-between;padding:24px 0;color:#91a092;font-size:11px}#empty{text-align:center;padding:35px 20px 80px}#boards:empty{display:none}dialog{border:1px solid #dce3dc;border-radius:15px;box-shadow:0 24px 100px #192c3c33;padding:30px;width:min(480px,95vw);color:#293d37}dialog::backdrop{background:#16292177;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between}h2{font-family:Manrope,sans-serif;font-size:23px;margin:10px 0 25px}.icon{border:0;background:transparent;padding:6px 10px}label{display:block;font-size:12px;color:#5a7062}input,select{border:1px solid #d5ded5;border-radius:6px;padding:11px;background:#fff;color:#263d30}form input{display:block;width:100%;margin:8px 0 20px}.form-row{display:flex;gap:16px}.form-row label{flex:1;min-width:0}.hint{font-size:12px}.full{width:100%;margin-top:15px}#focus-dialog{width:95vw;max-width:none;height:92vh;max-height:none;padding:22px;overflow:hidden}#focus-dialog[open]{display:flex;flex-direction:column}.focus-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.focus-head h2{margin:7px 0 16px}.focus-actions{display:flex;align-items:center;gap:20px}.focus-actions label{display:flex;align-items:center;gap:10px}#zoom{padding:0;width:120px}#toolbar{display:flex;align-items:center;gap:7px;padding:10px 0 14px;flex-wrap:wrap}#toolbar button{min-width:36px;height:34px;padding:4px}#toolbar select{padding:7px}#toolbar label{display:flex;align-items:center;gap:10px}.toolbar-separator{height:23px;border-left:1px solid #dce3dc;margin:0 5px}.color{background:var(--color);border:6px solid white!important;outline:1px solid #d7ded8;border-radius:50%;min-width:27px!important;width:27px;height:27px!important}.color:hover{background:var(--color);outline:2px solid #97ab9f}.toolbar-tip{margin-left:auto;color:#8c9a8f;font-size:11px}#focus-scroll{flex:1;overflow:auto;background:#edf0e9;border-radius:9px;padding:32px;min-height:0}#focus-board{margin:auto;max-width:none}.focus-bottom{display:flex;align-items:center;gap:10px;padding-top:16px;font-size:12px}.focus-bottom span{margin-right:auto;color:#829183}#layout-tools{padding:0 0 12px;flex-wrap:wrap;gap:8px;align-items:center}#layout-tools:not([hidden]){display:flex}#layout-tools p{width:100%;margin:0 0 5px;font-size:12px}#layout-message{font-size:12px;color:#906f42}.grid-cell{position:absolute;border:1px dashed #b6c6bb;background:#f5f9f14a;border-radius:0;padding:0;z-index:2}.grid-cell.selected{background:#80b89a66;border:2px solid #44795b}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#294c3d;color:#fff;padding:12px 22px;border-radius:9px;box-shadow:0 6px 30px #0002;z-index:10;font-size:13px}[hidden]{display:none!important}@media(max-width:900px){.board-card{flex-basis:calc((100% - 30px)/2)}header{padding:0 22px}main{padding:35px 22px 0}.view-label{display:none}footer span:last-child{display:none}}@media(max-width:600px){.board-card{flex-basis:88%}header{height:80px;padding:0 16px}.brand small,#save-status,.workspace-top span:last-child{display:none}.brand span{font-size:17px}.brand{font-size:25px}.header-right{gap:0}.header-right button{font-size:12px;padding:9px}.intro{margin-bottom:35px}h1{font-size:36px}main{padding:30px 16px 0}.focus-head{align-items:flex-start}.focus-actions{gap:4px}.focus-actions label{flex-wrap:wrap;width:105px}#zoom{width:90px}#focus-dialog{padding:14px}.toolbar-tip{display:none}.focus-bottom{flex-wrap:wrap}#focus-scroll{padding:15px}}
/* Compact, nearly full-screen workspace, with a consistently scaled board canvas. */
.surface{position:absolute;left:9px;top:9px;transform-origin:top left}
.section,.board-card .section{padding:6px;line-height:1.2}
#focus-dialog{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;padding:8px;border:0;border-radius:0}
.focus-head{min-height:34px}.focus-head .eyebrow{display:none}.focus-head h2{font-size:16px;margin:4px 0}.focus-actions{gap:8px}
#toolbar{padding:5px 0;gap:7px}#font-size{width:65px;padding:5px}#toolbar label{gap:5px}
#focus-scroll{padding:6px;border-radius:3px}#focus-board .frame{width:100%}
.focus-bottom{padding-top:5px}.focus-bottom button,.focus-actions button{padding:6px 10px}
#layout-tools{padding-bottom:6px;gap:6px}#layout-tools p{margin:0}#layout-tools label{display:flex;align-items:center;gap:5px}#layout-tools input{width:65px;padding:5px}#layout-tools button{padding:6px 9px}
@media(max-width:600px){#focus-dialog{padding:5px}.focus-head{flex-wrap:wrap}.focus-actions{flex-wrap:wrap}.focus-actions label{width:auto}.focus-bottom span{font-size:10px}}

/* Boards begin directly below the header. */
main{padding-top:24px}

/* Illustrated room background; whiteboards remain opaque and readable. */
:root{--workspace-background:linear-gradient(#17241d40,#17241d40),url('/lagezentrum-background.png')}
body{min-height:100vh;background-position:center center;background-repeat:no-repeat}
header{background:#fffffff0;backdrop-filter:blur(8px)}
.card-heading,.card-meta,.card-actions{background:#f6f7f3f2;border-radius:7px;padding:8px 10px}
.card-heading{margin-bottom:10px}.card-meta{margin-top:10px}.card-actions{margin-top:6px}
#empty{background:#f6f7f3f2;border-radius:12px;padding:35px 20px;margin:20px auto;max-width:650px}

/* Minimal board view with a fixed add button. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.floating-add{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:5;width:60px;height:60px;padding:0;border-radius:50%;display:grid;place-items:center;font-size:36px;font-weight:400;line-height:1;box-shadow:0 5px 20px #0005}
main{padding-bottom:96px}
@media(max-width:600px){.floating-add{right:18px;width:56px;height:56px}}

/* Center the board row in the viewport, retaining scrolling for large boards. */
main{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding-top:24px;padding-bottom:24px}
#boards{flex:none;align-items:center;min-height:0;padding-top:12px;padding-bottom:12px}
.card-heading{gap:8px;min-height:48px}
.board-title{flex:1;min-width:0;max-width:none}
.board-header-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}
.board-header-actions button{display:grid;place-items:center;width:30px;height:32px;padding:0;border:0;background:transparent;font-size:19px;line-height:1}
.board-header-actions button:hover:not(:disabled){background:#dfe8df}
.board-header-actions .delete{color:#8a6258}
@media(max-width:600px){.card-heading{padding:7px 8px}.board-title{font-size:13px}.board-header-actions button{width:28px}}

/* Use the illustrated room in focus mode as well. */
#focus-dialog{background-color:#293d37;background-image:var(--workspace-background);background-size:cover;background-position:center;background-repeat:no-repeat}
#focus-scroll{background:transparent}
#focus-dialog .focus-head,#focus-dialog #toolbar,#focus-dialog #layout-tools,#focus-dialog .focus-bottom{background:#f6f7f3f2;padding-left:10px;padding-right:10px}
#focus-dialog .focus-head{border-radius:7px 7px 0 0}
#focus-dialog #toolbar,#focus-dialog #layout-tools{border-radius:0 0 7px 7px}
#focus-dialog .focus-bottom{border-radius:7px;padding-bottom:5px}
.login-page{align-items:center;padding:24px;min-height:100dvh}
.login-card{width:min(390px,100%);padding:30px;background:#f6f7f3f5;border-radius:14px;box-shadow:0 12px 55px #0005}
.login-card h1{font-size:30px;letter-spacing:-1px;margin:12px 0 24px}
#login-error{color:#a12f25;font-size:13px}
.logout-button{position:fixed;bottom:24px;left:24px;z-index:5;background:#f6f7f3ed;font-size:12px;padding:8px 12px}
