:root{--bg:#fff;--sidebar:#f8f8f7;--text:#252523;--muted:#8a8a87;--line:#e8e8e5;--hover:#efefed;--card:#f9f9f8;--accent:#35856d;--accent-soft:#e4f4ed;--shadow:0 18px 64px #17171620;--font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}body{margin:0;font:14px/1.55 var(--font);color:var(--text);background:var(--bg)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,textarea{outline:none}.hidden{display:none!important}.app{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;width:252px;min-width:252px;height:100vh;background:var(--sidebar);display:flex;flex-direction:column;border-right:1px solid var(--line);z-index:4}.sidebar-head{padding:22px 16px 17px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:2px}.brand-icon{width:30px;height:30px;background:#1e3028;color:#d1ffbe;border-radius:9px;display:grid;place-items:center;font-weight:800;font-size:18px;letter-spacing:0}.workspace-profile{display:flex;align-items:center;gap:10px;margin:5px 12px 15px;padding:9px 8px;border:1px solid var(--line);background:var(--bg);border-radius:10px}.workspace-avatar{width:30px;height:30px;border-radius:8px;background:#e1e8d9;display:grid;place-items:center;color:#53734f;font-weight:750}.workspace-info{flex:1;line-height:1.1}.workspace-info b{display:block;font-size:13px}.workspace-info small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.chevron{color:var(--muted)}.quick-links{padding:0 12px 15px}.quick-links button,.nav-utility,.sidebar-footer button{display:flex;align-items:center;gap:12px;width:100%;padding:8px 9px;border:0;background:none;text-align:left;border-radius:7px;color:#686864}.quick-links button:hover,.nav-utility:hover,.sidebar-footer button:hover,.nav-page:hover{background:var(--hover)}.quick-links button>span{flex:1;color:var(--text)}kbd{font:10px var(--font);color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:1px 4px}.nav-scroll{flex:1;overflow-y:auto;padding:0 12px 24px}.nav-heading{font-size:10px;color:#969692;font-weight:800;letter-spacing:1.3px;margin:3px 8px 7px;display:flex;justify-content:space-between;align-items:center}.nav-heading button{border:0;background:transparent;color:var(--muted);font-size:16px}.nav-space{margin-top:23px}.nav-page{display:flex;align-items:center;gap:7px;min-height:32px;border-radius:6px;padding:3px 7px;color:#575752}.nav-page.active{background:var(--hover);color:var(--text);font-weight:600}.nav-page .p-name{flex:1;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border:0;background:none;min-width:0}.nav-page .p-icon{font-size:15px;width:21px;text-align:center}.nav-page .p-exp{width:14px;opacity:.6;font-size:10px;border:0;background:none}.nav-page .page-add{border:0;background:none;opacity:0;line-height:1.2;font-size:18px;color:var(--muted)}.nav-page:hover .page-add{opacity:1}.nav-nested{padding-left:15px}.nav-utility{font-size:12px}.sidebar-footer{display:flex;align-items:center;border-top:1px solid var(--line);padding:10px}.sidebar-footer button{font-size:12px;gap:8px;width:auto}.sidebar-footer button span{white-space:nowrap}.sidebar-footer #logoutBtn{margin-left:auto;font-size:19px}.main{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:58px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:2;background:var(--bg);border-bottom:1px solid transparent}.top-left,.top-actions,.breadcrumb{display:flex;align-items:center;gap:10px}.breadcrumb{color:#676763;font-size:12px;white-space:nowrap;overflow:hidden}.breadcrumb button{background:none;border:0;color:inherit;padding:4px;max-width:160px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.breadcrumb button:last-child{color:var(--text)}.top-actions{flex-shrink:0}.saved-pill{font-size:11px;color:#81847c}.icon-btn,.top-btn{background:transparent;border:0;width:29px;height:29px;display:grid;place-items:center;border-radius:6px;font-size:18px}.icon-btn:hover,.top-btn:hover{background:var(--hover)}.content{width:100%;max-width:930px;margin:0 auto;padding:68px 64px 100px;flex:1}.page-cover{height:155px;background:radial-gradient(ellipse at 35% 130%,#a7c5b5 0%,transparent 60%),linear-gradient(110deg,#e9efe6,#e5dfd7);border-radius:12px;margin:-15px 0 28px}.hero-icon{font-size:42px;line-height:1.4;display:inline-block;margin:0 0 10px}.page-title{width:100%;font-size:39px;font-weight:760;letter-spacing:-1.6px;line-height:1.25;border:0;outline:none;background:transparent;margin:0 0 28px;padding:0;resize:none;overflow:hidden}.page-title::placeholder{color:#c5c5c2}.editor-block{display:flex;position:relative;gap:6px;min-height:32px;align-items:flex-start}.block-grip{position:absolute;left:-43px;top:0px;width:32px;height:29px;border:0;border-radius:5px;color:#a6a6a3;background:transparent;opacity:0;cursor:grab;font-size:15px}.editor-block:hover .block-grip{opacity:1}.block-text{flex:1;min-width:0;padding:4px 2px;outline:none;white-space:pre-wrap;overflow-wrap:break-word}.block-text:empty:before{content:attr(data-placeholder);color:#bababa;pointer-events:none}.block-heading .block-text{font-size:27px;line-height:1.35;font-weight:720;letter-spacing:-.6px;padding:9px 2px}.block-h2 .block-text{font-size:21px;font-weight:700;padding:7px 2px}.block-h3 .block-text{font-size:17px;font-weight:700}.block-quote{border-left:3px solid #b7c2b8;padding-left:15px;margin:6px 0}.block-callout{background:var(--card);padding:10px 15px;border:1px solid var(--line);border-radius:9px;margin:7px 0}.block-code .block-text{background:#232927;color:#d5efdf;padding:13px;border-radius:9px;font:12px/1.8 ui-monospace,SFMono-Regular,monospace}.block-bullet:before{content:"•";margin:5px 6px 0 3px}.block-number:before{content:"1.";margin:5px 5px 0 3px}.block-todo{align-items:flex-start}.todo-check{accent-color:var(--accent);margin:10px 10px 0 4px}.block-todo.done .block-text{text-decoration:line-through;color:var(--muted)}.block-divider{height:24px;align-items:center}.block-divider:after{content:"";width:100%;height:1px;background:var(--line)}.block-add{display:flex;gap:7px;margin-top:12px;align-items:center;color:#9b9b96;background:none;border:0;font-size:13px;padding:8px 1px}.block-add:hover{color:var(--text)}.editor-hint{margin-top:40px;font-size:11px;color:#b4b4b0}.subpages{margin:20px 0 28px}.subpage-item{display:flex;align-items:center;gap:10px;background:transparent;border:0;padding:9px;color:var(--text);width:100%;text-align:left;border-radius:6px}.subpage-item:hover{background:var(--hover)}.subpages-label{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:1px;margin-bottom:5px}.db-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:5px 0 14px}.view-tabs{display:flex;gap:3px;flex-wrap:wrap}.view-tab{border:0;background:transparent;padding:7px 10px;color:var(--muted);border-radius:6px;font-size:12px}.view-tab.active{background:var(--hover);color:var(--text);font-weight:650}.db-actions{display:flex;gap:8px}.small-btn{border:1px solid var(--line);background:var(--bg);border-radius:6px;padding:7px 12px;font-size:12px}.primary{background:#2d7b64;color:white;border:1px solid #2d7b64;border-radius:7px;padding:9px 13px;font-size:12px;font-weight:650}.primary:hover{background:#266a56}.wide{width:100%;padding:12px}.db-scroll{width:100%;overflow:auto}.db-table{border-collapse:collapse;width:100%;font-size:12px;min-width:600px}.db-table th{text-align:left;border-bottom:1px solid var(--line);color:#aaa;letter-spacing:.1px;font-size:11px;font-weight:600;padding:10px 12px;border-right:1px solid var(--line)}.db-table td{padding:8px 11px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.db-table .td-title{font-weight:560}.db-table input,.db-table select{width:100%;min-width:90px;border:0;background:transparent;padding:4px;outline:none}.db-table input:focus,.db-table select:focus{box-shadow:inset 0 -1px var(--accent)}.db-table .row-delete{border:0;background:transparent;color:#bbb}.pill{display:inline-block;border-radius:5px;padding:2px 7px;font-size:11px;font-weight:600}.pill-a-faire{background:#eeeef0;color:#757578}.pill-en-cours{background:#d8e8ff;color:#37629d}.pill-termine{background:#d9eee4;color:#266a4e}.board{display:grid;grid-template-columns:repeat(3,minmax(175px,1fr));gap:12px;overflow-x:auto}.board-col{background:var(--card);border-radius:10px;padding:12px;min-height:260px}.board-head{display:flex;align-items:center;gap:8px;padding:1px 3px 12px}.board-head b{font-size:12px}.board-head small{margin-left:auto;color:var(--muted)}.board-card{background:var(--bg);border:1px solid var(--line);box-shadow:0 2px 3px #00000003;padding:12px;border-radius:7px;margin-bottom:8px;cursor:grab}.board-card .card-title{font-size:13px;font-weight:600;margin-bottom:12px}.board-card select{border:0;background:var(--card);padding:4px;font-size:11px;max-width:120px;border-radius:5px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:13px}.gallery-card{background:var(--card);border:1px solid var(--line);border-radius:9px;overflow:hidden}.gallery-art{height:100px;background:linear-gradient(135deg,#ddeae1,#e8e9e5);display:grid;place-items:center;font-size:27px}.gallery-caption{padding:11px}.gallery-caption b{display:block;margin-bottom:7px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.cal-day{background:var(--bg);min-height:97px;padding:6px;min-width:80px}.cal-day small{color:var(--muted)}.cal-day.hdr{min-height:24px;background:var(--card);text-align:center}.cal-task{font-size:10px;background:var(--accent-soft);padding:4px;border-radius:4px;margin:4px 0;overflow:hidden;text-overflow:ellipsis}.empty{padding:50px 15px;color:var(--muted);text-align:center}.bottom-note{font-size:11px;color:#c4c4c1;text-align:center;padding-bottom:22px}.login-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 5% 10%,#e2f2e7,transparent 35%),#f9faf8;padding:20px}.login-card{background:white;box-shadow:var(--shadow);border:1px solid #e8eae5;border-radius:18px;padding:45px;width:min(450px,100%)}.brand.large{font-size:16px}.brand.large .brand-icon{height:42px;width:42px;font-size:24px}.login-card h1{font-size:28px;letter-spacing:-.7px;margin:34px 0 6px}.login-card p{color:#85857f;margin:0 0 32px}.login-card label{display:block;font-size:12px;font-weight:650;margin:18px 0}.login-card input{display:block;border:1px solid #ddd;border-radius:7px;padding:12px;width:100%;margin-top:6px}.form-error{color:#b44a43;font-size:12px;padding-top:12px;min-height:32px}.login-foot{font-size:11px;color:#aaa;text-align:center;margin-top:25px}.search-overlay{position:fixed;inset:0;background:#12171670;display:flex;justify-content:center;align-items:flex-start;padding-top:15vh;z-index:20}.search-dialog{width:min(650px,calc(100vw - 30px));background:var(--bg);box-shadow:var(--shadow);border-radius:12px;overflow:hidden;border:1px solid var(--line)}.search-head{display:flex;gap:12px;padding:16px;align-items:center;border-bottom:1px solid var(--line)}.search-head input{flex:1;border:0;background:transparent}.search-head button{border:0;background:var(--card);font-size:11px;border-radius:4px;padding:4px}.search-result{width:100%;border:0;background:none;display:flex;gap:13px;align-items:center;text-align:left;padding:10px 17px}.search-result:hover{background:var(--hover)}.search-tip{border-top:1px solid var(--line);font-size:10px;color:var(--muted);padding:10px 16px}.toast{position:fixed;bottom:24px;right:24px;color:white;background:#26322c;border-radius:8px;padding:11px 16px;z-index:50;box-shadow:0 8px 30px #0002}.mobile-menu,.close-mobile{display:none}[data-theme=dark]{--bg:#191a19;--sidebar:#202120;--text:#e6e7e4;--muted:#91948e;--line:#373a37;--hover:#313430;--card:#242624;--accent:#72c99e;--accent-soft:#213b30;--shadow:0 18px 64px #0006}[data-theme=dark] .workspace-avatar{background:#405644;color:#d6ffdf}[data-theme=dark] .login-screen{background:#131b16}[data-theme=dark] .login-card{background:var(--bg);border-color:var(--line)}[data-theme=dark] .login-card input{background:var(--card);border-color:var(--line)}[data-theme=dark] .brand-icon{background:#2c4637}[data-theme=dark] .page-cover{background:linear-gradient(135deg,#425649,#393735)}[data-theme=dark] .gallery-art{background:linear-gradient(135deg,#3b4a3b,#303732)}@media(max-width:1050px){.content{padding:55px 45px}.board{grid-template-columns:repeat(3,minmax(165px,1fr))}}@media(max-width:760px){.sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .2s;box-shadow:var(--shadow)}.sidebar.open{transform:none}.mobile-menu,.close-mobile{display:grid}.content{padding:35px 24px 75px}.page-title{font-size:31px}.topbar{padding:0 12px}.saved-pill{display:none}.gallery{grid-template-columns:repeat(2,1fr)}.board{grid-template-columns:repeat(3,minmax(230px,1fr))}.block-grip{left:-21px;opacity:.4;width:17px}.calendar{overflow-x:auto}.cal-day{min-width:68px}.breadcrumb button{max-width:95px}.sidebar-footer{padding:8px}}
/* GENOTION Notion-inspired dark mode */
:root{--bg:#191919;--sidebar:#202020;--text:#f1f1ef;--muted:#999b9a;--line:#303030;--hover:#2a2a2a;--card:#222222;--accent:#64b894;--accent-soft:#254236;--shadow:0 18px 64px #0009}body{color-scheme:dark;background:var(--bg);color:var(--text)}

/* GENOTION graphite dark defaults */
[data-theme=dark] .sidebar{background:#202020;border-right-color:#333}[data-theme=dark] .main,[data-theme=dark] .topbar{background:#191919}[data-theme=dark] .workspace-profile{background:#292929;border-color:#3b3b3b}[data-theme=dark] .nav-page.active{background:#353535}[data-theme=dark] .page-cover{background:linear-gradient(120deg,#364039,#292e2c,#33312e);border:1px solid #3a3f3a}[data-theme=dark] .db-table th{background:#232323;border-color:#383838}[data-theme=dark] .db-table td{border-color:#383838}[data-theme=dark] .board-card{background:#2a2a2a;border-color:#404040}[data-theme=dark] .search-dialog{background:#262626;border-color:#444}
