@font-face{font-family:Atelier;src:local('Segoe UI')}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:#f5f6f3;color:#243a36;font-family:Atelier,system-ui,-apple-system,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #d1992f;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid #5f938a;outline-offset:1px}button{border:1px solid #d8dfd9;border-radius:9px;background:white;color:#243a36;padding:9px 15px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover{background:#eef2ed}button.primary{background:#194c43;color:#fff;border-color:#194c43}button.primary:hover{background:#103d35}button.danger{color:#a5322c;border-color:#e1bdb9}button.quiet{background:none;border-color:transparent}button.small{font-size:.875rem;padding:6px 10px}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-family:Georgia,serif;font-size:2.5rem;font-weight:400;letter-spacing:-1.3px;line-height:1.18}h2{font-size:1.15rem;font-weight:650}h3{font-size:1rem}a{color:inherit}small,.muted{color:#65766e}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:#78897f;margin-bottom:10px}.layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{background:#173f38;color:#e7eee7;padding:32px 20px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 30px;font-family:Georgia,serif;font-size:1.32rem}.brand svg{width:32px;height:32px;color:#e9ce8b}.brand small{font-family:Atelier,system-ui;font-size:.7rem;letter-spacing:2px;display:block;color:#9fb9ab;margin-top:2px;text-transform:uppercase}.side-project{border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;padding:20px 10px;margin-bottom:22px;font-size:.9rem}.side-project span{display:block;color:#9fb9ab;font-size:.75rem;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.nav{display:grid;gap:7px}.nav button{justify-content:flex-start;background:none;color:#bbcec2;border:0;padding:12px 14px;font-weight:500}.nav button:hover{background:#ffffff10}.nav button.active{background:#e9eddf;color:#1d4239}.side-footer{margin-top:auto;padding:28px 10px 0;color:#9fb9ab;font-size:.8rem}.side-footer .tag{color:#dbdfc6;background:#ffffff0d;border-color:#ffffff20;margin-top:12px}.main{min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid #e2e7df;padding:0 42px;display:flex;align-items:center;justify-content:space-between;font-size:.875rem;gap:15px}.topbar .crumb{color:#718178}.topbar strong{font-weight:550;color:#344b41}.top-actions{display:flex;gap:15px;align-items:center}.saved{font-size:.8rem;color:#607d6c}.content{padding:38px 42px 60px;max-width:1650px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px}.page-head p{margin-top:12px;color:#6b7c71;max-width:720px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:30px}.stat{padding:23px 24px;background:white;border:1px solid #e0e5dc;border-radius:12px;position:relative}.stat.accent{background:#e8eddc;border-color:#e0e5cf}.stat label{display:block;font-size:.875rem;color:#667966;margin-bottom:13px}.stat strong{font-family:Georgia,serif;font-weight:400;font-size:2.05rem;letter-spacing:-.7px}.stat small{display:block;margin-top:7px;font-size:.8rem}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.rooms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.room-card{background:white;border:1px solid #dde4da;border-radius:13px;overflow:hidden}.room-palette{height:76px;display:flex;background:#e5e9df;padding:0;position:relative}.room-palette>span{flex:1}.room-palette .room-size{position:absolute;right:12px;top:12px;background:#ffffffed;border-radius:6px;padding:4px 9px;font-size:.75rem}.room-body{padding:22px}.room-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.room-title h3{font-family:Georgia,serif;font-size:1.5rem;font-weight:400}.room-body p{font-size:.875rem;color:#6b7c71}.progress{height:5px;border-radius:4px;background:#edf0e9;overflow:hidden;margin:16px 0 9px}.progress>span{display:block;height:100%;background:#5e8163}.room-meta{display:flex;justify-content:space-between;font-size:.8rem;color:#708073}.room-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0e9;margin-top:20px;padding-top:15px;font-size:.875rem}.split{display:grid;grid-template-columns:1.65fr 1fr;gap:24px;margin-top:30px}.panel{background:white;border:1px solid #e0e5dc;border-radius:12px;padding:24px;min-width:0}.next-task{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #edf0e8;padding:16px 0}.next-task:last-child{border:0;padding-bottom:0}.next-task p{font-size:.85rem;color:#748277;margin-top:4px}.next-task .task-symbol{width:36px;height:36px;display:grid;place-items:center;background:#edf2e7;border-radius:8px;flex-shrink:0}.task-line{display:flex;gap:12px;align-items:center}.tag{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;line-height:1.4;padding:4px 9px;border-radius:5px;background:#f0f2ec;color:#62735f;border:1px solid #e4e8dc;white-space:nowrap}.tag.done{background:#e5f0e8;color:#2b6746;border-color:#d4e5d8}.tag.doing{background:#fff0ce;color:#875914;border-color:#eddfb4}.tag.blocked{background:#f8ece8;color:#925240;border-color:#efdad3}.notice{padding:15px 18px;background:#eaf0e1;border:1px solid #dce4cf;border-radius:9px;font-size:.875rem;color:#4b6548;margin-bottom:24px}.notice.warning{background:#fff3e3;border-color:#efdbb8;color:#815929}.notice.error{background:#fff0ed;border-color:#e6b9b0;color:#983829}.empty{padding:54px 24px;text-align:center;background:white;border:1px dashed #c9d5c4;border-radius:12px}.empty h2{font-family:Georgia,serif;font-size:1.8rem;font-weight:400;margin:14px 0 9px}.empty p{max-width:530px;margin:0 auto 22px;color:#687b6a}.empty .actions{justify-content:center}.empty>svg{width:40px;height:40px;color:#64806a}.tabs{display:flex;gap:24px;border-bottom:1px solid #dce2d7;margin:0 0 27px;overflow:auto}.tabs button{border:0;border-radius:0;background:none;padding:13px 0;color:#7c8779;white-space:nowrap}.tabs button.active{border-bottom:3px solid #2e5d48;color:#274d3c}.toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:22px}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters input{min-width:230px}.filters select{min-width:160px}input,textarea,select{border:1px solid #d4ddd1;border-radius:7px;background:white;color:#293f32;padding:10px 12px;width:100%;min-width:0}input[type=checkbox]{width:17px;height:17px;accent-color:#285840}input[type=color]{height:45px;padding:4px;width:100%}textarea{resize:vertical;min-height:90px}.table-wrap{overflow:auto;border:1px solid #dfe5db;border-radius:11px;background:white}table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.7px;background:#f8f9f5;color:#71816c;font-weight:600;padding:15px 18px;white-space:nowrap}td{padding:17px 18px;border-top:1px solid #e9ede4;vertical-align:middle}td .secondary{display:block;font-size:.8rem;color:#71816c;margin-top:5px}.task-name{min-width:230px}.task-name button{text-align:left;display:block;font-weight:600;padding:0;border:0;background:none}.task-name button:hover{text-decoration:underline}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.table-total td{background:#edf2e7;font-weight:650}.surface-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.surface{background:white;border:1px solid #dce3d5;border-radius:11px;overflow:hidden}.surface-color{height:85px;position:relative;border-bottom:1px solid #00000008}.surface-color .tag{position:absolute;right:12px;top:12px;background:#ffffffee}.surface-content{padding:20px}.surface-content h3{margin-bottom:4px}.surface-content p{font-size:.875rem;color:#71816c;min-height:24px}.surface-content .actions{margin-top:16px}.surface-color.wallpaper{background-image:repeating-linear-gradient(45deg,transparent,transparent 6px,#ffffff35 6px,#ffffff35 7px)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:6px;font-size:.875rem;font-weight:550}.field small{font-weight:400;font-size:.8rem}.field.full,.full{grid-column:1/-1}.form-section{border-top:1px solid #e0e5da;margin-top:23px;padding-top:20px}.form-section h3{margin-bottom:13px}.check-list{display:grid;gap:9px;max-height:180px;overflow:auto}.check-list label,.weekdays label{display:flex;align-items:center;gap:10px;font-size:.875rem}.weekdays{display:flex;gap:15px;flex-wrap:wrap}.weekdays label{background:#f5f7f0;padding:10px;border-radius:7px}.materials-head,.material-row{display:grid;grid-template-columns:2fr .8fr .8fr .8fr .7fr 32px;gap:8px;align-items:center;margin-bottom:8px}.materials-head{font-size:.75rem;color:#76856f}.material-row input{padding:9px 7px;font-size:.875rem}.material-row button{padding:5px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.modal-head h2{font-family:Georgia,serif;font-size:1.8rem;font-weight:400}.modal-footer{display:flex;justify-content:space-between;gap:12px;margin-top:25px;border-top:1px solid #e0e6d9;padding-top:20px}.modal-footer .actions{margin-left:auto}dialog{border:1px solid #dce3d5;border-radius:15px;padding:28px;width:min(740px,calc(100% - 30px));max-height:90vh;overflow:auto;color:#293d32;box-shadow:0 30px 90px #16281f35}dialog::backdrop{background:#112e276b;backdrop-filter:blur(3px)}.form-error{color:#aa382b;background:#fff0ec;padding:12px;border-radius:8px;margin-top:16px;font-size:.875rem}.form-error:empty{display:none}.gantt{overflow:auto;background:white;border:1px solid #dce4d5;border-radius:10px}.gantt table{table-layout:fixed;min-width:920px}.gantt th:first-child,.gantt td:first-child{width:240px;position:sticky;left:0;background:#fff;z-index:1;border-right:1px solid #e6ecdf}.gantt th:first-child{background:#f8f9f5}.gantt td{height:66px}.timeline-track{height:30px;position:relative;background:repeating-linear-gradient(to right,transparent,transparent calc(14.285% - 1px),#e9eee3 calc(14.285% - 1px),#e9eee3 14.285%)}.timeline-bar{position:absolute;top:3px;height:24px;border-radius:5px;background:#5b7c64;min-width:5px}.timeline-bar.done{background:#a8b9a1}.timeline-bar.doing{background:#c49b40}.gantt-meta{font-size:.75rem;color:#7c8b73;display:block}.planning-legend{display:flex;gap:20px;margin-top:17px;font-size:.8rem;color:#75846e}.budget-bars{display:grid;gap:20px}.budget-bar-head{display:flex;justify-content:space-between;gap:10px;font-size:.875rem}.budget-bars .progress{height:9px;margin-top:9px}.board-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:17px}.board-shell{background:#e8ecdf;border:1px solid #d3ddc7;border-radius:10px;padding:20px;overflow:auto}.board{width:1200px;height:800px;position:relative;background:#faf9f3;background-image:radial-gradient(#b4bdae55 .8px,transparent .8px);background-size:20px 20px;overflow:hidden;transform-origin:top left}.board-item{position:absolute;touch-action:none;cursor:grab;background:white;box-shadow:0 5px 18px #30482a15;border:2px solid transparent;overflow:hidden;user-select:none}.board-item.selected{border-color:#315e47;box-shadow:0 0 0 3px #315e4720}.board-item:active{cursor:grabbing}.board-item img{width:100%;height:calc(100% - 37px);object-fit:cover;pointer-events:none;display:block}.board-item .board-caption{height:37px;padding:8px 12px;font-size:14px;background:#ffffffed;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.board-item .swatch{height:calc(100% - 37px)}.board-note{height:100%;padding:22px;font-family:Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere;font-size:24px;line-height:1.5;overflow:hidden}.resize-handle{position:absolute;bottom:0;right:0;width:24px;height:24px;background:linear-gradient(135deg,transparent 50%,#315e47 50%);cursor:nwse-resize;touch-action:none}.board-item:not(.selected) .resize-handle{display:none}.board-tools{display:flex;gap:9px;align-items:center;margin-top:13px;flex-wrap:wrap;font-size:.875rem}.board-hint{font-size:.8rem;color:#798970;margin-top:12px}.settings-panel{max-width:860px}.settings-panel .actions{margin-top:24px}.login{min-height:100vh;display:grid;place-items:center;background:#173f38;padding:25px}.login-card{width:min(440px,100%);background:#f8f9f2;padding:40px;border-radius:15px}.login-card h1{font-size:2rem;margin:15px 0}.login-card p{color:#72836c;margin-bottom:25px}.login-card .field{margin-bottom:20px}.login-card button{width:100%}.login-card svg{color:#426c4c;width:40px;height:40px}.boot{padding:70px;text-align:center}.preview-label{font-size:.75rem;color:#81591f;background:#fff0ce;padding:5px 9px;border-radius:5px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:20;background:#1f4536;color:#fff;padding:12px 22px;border-radius:9px;box-shadow:0 8px 30px #0002;display:none;max-width:90vw}#toast.show{display:block}#toast.error{background:#953e30}.mobile-brand{display:none}.row-controls{white-space:nowrap}.overview-note{margin-top:20px;color:#7b8874;font-size:.8rem}.board-selector{width:240px}.currency-label{font-size:1rem;color:#849077}.confirm-copy{white-space:pre-line;color:#687b60}input[type=file]{font-size:.875rem}.muted-link{color:#6f8068;font-size:.8rem}.stat-over{color:#ad4d37}.plan-wrap{background:#e8ecdf;border:1px solid #d3ddc7;border-radius:12px;padding:16px;overflow:auto;text-align:center}.plan-image{position:relative;display:inline-block;max-width:900px}.plan-image img{display:block;width:100%;border-radius:6px;background:#fff}.plan-empty-hint{position:absolute;top:12px;left:50%;transform:translateX(-50%);background:#ffffffee;border:1px solid #dce4cf;border-radius:8px;padding:8px 14px;font-size:.8rem;color:#4b6548;z-index:2;white-space:nowrap}.plan-pin{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;background:#194c43;color:#fff;border:2px solid #fff;border-radius:9px;padding:6px 10px;font-size:.72rem;line-height:1.25;box-shadow:0 4px 14px #16281f45;max-width:130px;text-align:center}.plan-pin span{font-weight:650}.plan-pin small{opacity:.85;font-weight:500}.plan-pin:hover{background:#103d35}.plan-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:18px}.plan-list-item{display:flex;justify-content:space-between;gap:10px;background:white;border:1px solid #dde4da;text-align:left;font-weight:500}.plan-list-item span{color:#6b7c71;font-weight:600}.person-switch{display:flex;gap:6px}.person-switch button.active{background:#194c43;color:#fff;border-color:#194c43}.tag.idea{background:#eef2ec;color:#3c5a4d;border-color:#dbe4dc}.tag.rejected{background:#f3ecec;color:#7a4a44;border-color:#e6d6d3}.tag.phase1{background:#eaf0e1;color:#4b6548;border-color:#dce4cf}.tag.phase2{background:#f0f2ec;color:#62735f;border-color:#e4e8dc}.tag.priority-haute{background:#f8ece8;color:#925240;border-color:#efdad3}.tag.priority-moyenne{background:#fff0ce;color:#875914;border-color:#eddfb4}.tag.priority-basse{background:#eaf0e1;color:#4b6548;border-color:#dce4cf}.idea-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.idea-card .room-title{align-items:flex-start;flex-wrap:wrap;gap:8px}.vote-row{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 8px}.vote-row button.active{background:#194c43;color:#fff;border-color:#194c43}.vote-tally{display:flex;gap:14px;font-size:.8rem;color:#6b7c71;margin-bottom:12px}.comment-thread{max-height:170px;overflow:auto;display:grid;gap:8px;margin-bottom:10px}.comment{background:#f5f7f0;border-radius:8px;padding:8px 10px;font-size:.85rem}.comment strong{margin-right:8px}.comment p{margin-top:4px}.comment-form{display:flex;gap:8px}.comment-form input{flex:1}.idea-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;border-top:1px solid #edf0e9;padding-top:14px}.idea-rejected{margin-top:34px}.idea-rejected summary{cursor:pointer;font-weight:650;margin-bottom:18px}.shift-list{margin-top:10px;display:flex;flex-wrap:wrap;gap:10px}.shift-item{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #eddfb4;border-radius:8px;padding:6px 10px;font-size:.8rem}.segment-row{display:grid;grid-template-columns:2fr 1fr 1fr 32px;gap:8px;align-items:center;margin-bottom:8px}.opening-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 32px;gap:8px;align-items:center;margin-bottom:8px}.segment-row input,.opening-row input,.opening-row select{padding:9px 7px;font-size:.875rem}.fixture-row{display:grid;grid-template-columns:1.5fr .6fr 1.5fr 32px;gap:8px;align-items:center;margin-bottom:8px}.fixture-row select,.fixture-row input{padding:9px 7px;font-size:.875rem}.fixture-tags{display:flex;flex-wrap:wrap;gap:8px}.calendar-wrap{overflow:auto;border:1px solid #dce4d5;border-radius:10px;background:#e6ece0;padding:1px}.calendar-grid{display:grid;gap:1px;min-width:max-content}.cal-corner{background:#f8f9f5;position:sticky;left:0;z-index:2}.cal-day-head{background:#f8f9f5;border:0;padding:8px 6px;font-size:.72rem;color:#5c6d5e;font-weight:650;cursor:pointer;text-align:center}.cal-day-head:hover{background:#eef1e6}.cal-day-head small{display:block;font-weight:500;color:#8a988a;margin-top:2px}.cal-day-head.cal-off{background:#f0f1ea;color:#a7b0a2}.cal-lane-head{background:#f8f9f5;position:sticky;left:0;z-index:1;padding:10px 12px;font-size:.8rem;font-weight:650;color:#2c4235;display:flex;align-items:center}.cal-cell{background:#fff;min-height:54px;padding:4px;display:flex;flex-direction:column;gap:3px}.cal-cell.drop-target{background:#eaf0e1}.cal-chip{background:#edf2e7;border:1px solid #d8e2cf;border-radius:6px;padding:4px 6px;font-size:.72rem;line-height:1.25;cursor:grab;touch-action:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:none}.cal-chip.status-doing{background:#fff0ce;border-color:#eddfb4}.cal-chip.status-done{background:#e5f0e8;border-color:#d4e5d8;text-decoration:line-through;opacity:.8}.cal-chip.dragging{opacity:.35}
@media(min-width:1600px){.content{padding-top:46px}}@media(max-width:1150px){.layout{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding:25px 12px}.content{padding:30px 25px}.topbar{padding:0 25px}.stats{gap:12px}.stat{padding:18px}.stat strong{font-size:1.75rem}.rooms-grid,.surface-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.brand{font-size:1.1rem}}@media(max-width:760px){.layout{display:block}.sidebar{position:relative;height:auto;padding:16px}.brand{padding:0 4px 16px}.side-project,.side-footer{display:none}.nav{display:flex;overflow:auto;gap:6px;padding-bottom:4px}.nav button{white-space:nowrap;padding:9px 11px;font-size:.875rem}.nav .icon{width:17px;height:17px}.topbar{height:56px;padding:0 18px}.saved{display:none}.topbar .crumb{font-size:.8rem}.content{padding:26px 18px 45px}.page-head{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:24px}h1{font-size:2.15rem}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:17px 15px}.stat strong{font-size:1.65rem}.stat label{font-size:.8rem}.stat small{font-size:.75rem}.rooms-grid,.surface-grid,.idea-grid{grid-template-columns:1fr}.room-palette{height:70px}.person-switch{flex-wrap:wrap}.segment-row,.opening-row,.fixture-row{grid-template-columns:1fr 1fr 1fr 32px}.form-grid{grid-template-columns:1fr}.panel{padding:19px}.filters{width:100%}.filters input,.filters select{min-width:0;flex:1 1 150px}.materials-head{display:none}.material-row{grid-template-columns:1fr 1fr 1fr;padding:13px 0;border-bottom:1px solid #e3e8dd}.material-row input:first-child{grid-column:1/-1}.modal-footer{flex-wrap:wrap}dialog{padding:20px}.board-shell{padding:10px}.board-selector{width:100%}.board-toolbar button{font-size:.8rem}.top-actions{gap:8px}.preview-label{font-size:.7rem}.tabs{gap:22px}.page-head p{font-size:.9rem}}@media print{.sidebar,.topbar,.page-head .actions,.toolbar,.board-toolbar,.board-tools,.board-hint,button,#toast{display:none!important}.layout{display:block}.content{padding:0}.panel,.stat,.room-card{break-inside:avoid}.table-wrap{overflow:visible}body{background:white}.board-shell{padding:0;border:0;background:white;overflow:visible}.board{transform:scale(.7);transform-origin:top left}.board-shell{height:570px}.board-item{box-shadow:none}}
