:root{font-family:Inter,"Noto Sans JP",system-ui,sans-serif;color:#182235;background:#eef2f5;--navy:#18273f;--blue:#2368e8;--line:#dfe5eb;--muted:#738095}
*{box-sizing:border-box}
body{margin:0;overflow:hidden}
button,input{font:inherit}
button{cursor:pointer;border:0;color:inherit}
button:disabled{cursor:default;opacity:.38;filter:saturate(.35)}
.hidden{display:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cad-context-menu{position:fixed;z-index:40;width:190px;padding:6px;border:1px solid #d6dee7;border-radius:11px;background:#fff;box-shadow:0 12px 35px #17253d35;touch-action:none}.cad-context-menu button{display:block;width:100%;min-height:42px;padding:9px 11px;border-radius:7px;background:#fff;text-align:left;font-size:12px;font-weight:700}.cad-context-menu button:hover,.cad-context-menu button:focus-visible{background:#edf3ff}.cad-context-menu button.danger{color:#c93443;border-top:1px solid #edf0f3;border-radius:0 0 7px 7px}.cad-context-menu button.context-hidden{display:none}
.primary{background:var(--blue);color:white;border-radius:8px;padding:10px 16px;font-weight:700;box-shadow:0 3px 10px #2368e833}
.secondary{background:white;border:1px solid #ccd5df;border-radius:8px;padding:10px;font-weight:700}
.wide{width:100%}
.admin-pricing-dialog{width:min(520px,94vw);padding:25px;text-align:left}.admin-pricing-dialog select{display:block;width:100%;border:1px solid #d3dbe3;border-radius:7px;padding:9px;margin-top:5px;background:#fff}.special-target{padding:10px;border-radius:7px;background:#f3f6fa;color:#5f6e82;font-size:11px}.admin-pricing-dialog #specialMessage{font-size:11px;color:#2368e8}.plan-cards del{font-size:15px;color:#8792a2;font-weight:600;margin-right:4px}
.plans-dialog{width:min(940px,94vw);padding:26px;text-align:left}.plans-lead{color:#6d7b8e;font-size:12px}.plan-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.plan-cards article{position:relative;border:1px solid #dce3eb;border-radius:13px;padding:20px;background:#fff}.plan-cards article.recommended{border:2px solid var(--blue);box-shadow:0 8px 24px #2368e81c}.plan-cards article>em{position:absolute;right:10px;top:-11px;background:var(--blue);color:white;border-radius:20px;padding:4px 10px;font-size:9px;font-style:normal}.plan-cards article>span{font-size:9px;font-weight:900;letter-spacing:1.5px;color:var(--blue)}.plan-cards h3{font-size:16px;margin:7px 0}.plan-cards strong{display:block;font-size:28px;color:#17253d}.plan-cards strong small{font-size:9px;color:#7c899a}.plan-cards ul{min-height:112px;padding-left:18px;color:#566478;font-size:11px;line-height:2}.plan-cards button{width:100%}.plan-cards article.current{background:#f1f6ff}.plan-cards article.current:after{content:'現在のプラン';position:absolute;left:15px;top:-10px;background:#17253d;color:white;border-radius:15px;padding:4px 9px;font-size:8px}.plan-note{color:#7d8998}
@media(max-width:700px){.plans-dialog{padding:18px}.plan-cards{grid-template-columns:1fr;max-height:65vh;overflow:auto}.plan-cards ul{min-height:0}}
.logo{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--blue);color:white;font-weight:900}
.app{height:100vh;display:grid;grid-template-rows:62px 1fr 27px}
header{display:flex;align-items:center;background:var(--navy);color:white;padding:0 18px;gap:22px}
.brand{display:flex;align-items:center;gap:9px;background:none;font-weight:800;font-size:16px;flex:none}.brand-icon{width:38px;height:38px;border-radius:10px;object-fit:cover;box-shadow:0 2px 8px #07101d66}.brand-name{display:flex;align-items:baseline;gap:5px;white-space:nowrap;letter-spacing:.5px}.brand-name span{font-weight:800}.brand-name b{color:#69a6ff;font-size:.88em}
.project{border-left:1px solid #ffffff22;padding-left:22px;display:grid;grid-template-columns:8px auto;align-items:center}
.project i{width:7px;height:7px;background:#35c98f;border-radius:50%;transition:.2s}.project[data-save-state="pending"] i,.project[data-save-state="saving"] i{background:#f1b84b;box-shadow:0 0 0 3px #f1b84b22}.project[data-save-state="error"] i,.project[data-save-state="conflict"] i{background:#ef5967;box-shadow:0 0 0 3px #ef596722}.project[data-save-state="offline"] i{background:#9caabd}
.project input{background:none;color:white;border:0;font-weight:700;width:300px;padding:2px 8px;outline:none}
.project small{grid-column:2;color:#9caabd;padding-left:8px;font-size:10px}
.actions{margin-left:auto;display:flex;gap:8px;align-items:center}
.actions>button:not(.primary){background:#ffffff0d;color:#dce5ef;border:1px solid #ffffff15;border-radius:7px;width:38px;height:38px;font-size:20px}
.avatar{border-radius:50%!important;background-color:#f0a147!important;color:white!important;font-size:13px!important;font-weight:bold}.avatar.has-image{border:1px solid #d5dee8!important;background-color:#fff!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;color:transparent!important}.avatar.big{display:grid;place-items:center;width:62px;height:62px;margin:0 auto;font-size:22px!important}
main{display:grid;grid-template-columns:86px minmax(400px,1fr) 310px;min-height:0}
nav{background:white;border-right:1px solid var(--line);padding:12px 8px;display:flex;flex-direction:column;gap:4px;overflow:auto}
nav small{font-size:9px;color:#a2aab6;margin:8px 7px 3px;text-transform:uppercase}
.workspace-switcher{position:sticky;top:0;z-index:2;margin:0 0 7px}.workspace-switcher>button{width:100%;min-height:62px;padding:7px 5px;border:1px solid #ccdaeb;border-radius:11px;background:linear-gradient(145deg,#f8fbff,#edf4ff);color:#254464;box-shadow:0 4px 12px #203b6310}.workspace-switcher>button>b{display:grid;place-items:center;width:31px;height:31px;margin:auto;border-radius:9px;background:#2368e8;color:#fff;font-size:17px}.workspace-switcher>button>span,.workspace-switcher>button>span small,.workspace-switcher>button>span strong{display:block}.workspace-switcher>button>span small{margin-top:4px;color:#7b899a;font-size:7px}.workspace-switcher>button>span strong{overflow:hidden;text-overflow:ellipsis;font-size:9px;white-space:nowrap}.workspace-switcher>button>i{display:none}
.workspace-backdrop{position:fixed;z-index:34;inset:0;border:0;border-radius:0;background:#14243d55;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.workspace-drawer{position:fixed;z-index:35;left:86px;top:62px;bottom:27px;width:min(370px,calc(100vw - 102px));box-sizing:border-box;padding:22px;background:#f8fafc;border-right:1px solid #d8e1eb;box-shadow:18px 0 42px #17253d30;overflow:auto;transform:translateX(calc(-100% - 110px));transition:transform .25s cubic-bezier(.22,.8,.3,1)}.workspace-drawer.drawer-open{transform:translateX(0)}.workspace-drawer>header{position:static;height:auto;padding:0 0 16px;background:transparent;border-bottom:1px solid #dbe3ec;display:flex;align-items:flex-start;justify-content:space-between;color:#213852}.workspace-drawer header small{color:#2368e8;font-size:9px;font-weight:900;letter-spacing:.16em}.workspace-drawer header h2{margin:4px 0;font-size:22px}.workspace-drawer header p{margin:0;color:#758397;font-size:10px}.workspace-drawer-close,.workspace-drawer header>button{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d7e0e9;border-radius:12px;background:#fff;color:#53657b;font-size:23px}
.workspace-choice-list{display:grid;gap:10px;margin-top:18px}.workspace-choice-list>button{display:grid;grid-template-columns:48px 1fr 24px;align-items:center;gap:12px;width:100%;min-height:76px;padding:12px;border:1px solid #dce4ed;border-radius:14px;background:#fff;color:#263d59;text-align:left;box-shadow:0 5px 16px #17253d0a;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.workspace-choice-list>button:hover{transform:translateY(-1px);border-color:#9cbaf0;box-shadow:0 8px 22px #17253d14}.workspace-choice-list>button>b{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#eef3f8;color:#57708d;font-size:24px}.workspace-choice-list span,.workspace-choice-list strong,.workspace-choice-list small{display:block}.workspace-choice-list strong{font-size:13px}.workspace-choice-list small{margin-top:5px;color:#7b8898;font-size:9px}.workspace-choice-list>button>i{display:none;color:#2368e8;font-size:17px}.workspace-choice-list>button.active{border-color:#76a3ef;background:#f1f6ff;box-shadow:inset 0 0 0 1px #2368e8,0 8px 22px #2368e820}.workspace-choice-list>button.active>b{background:#2368e8;color:#fff}.workspace-choice-list>button.active>i{display:block}.workspace-drawer-note{margin:18px 3px 0;color:#7c8999;font-size:9px;line-height:1.7}
.tool{position:relative;background:transparent;border-radius:8px;min-height:56px;color:#59677a;font-size:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.tool b{font-size:21px;font-weight:400}
.tool kbd{position:absolute;right:5px;top:5px;font:8px sans-serif;color:#aab1ba}
.tool:hover{background:#f1f5fa}
.tool.active{background:#eaf1ff;color:var(--blue);box-shadow:inset 3px 0 var(--blue)}
.tool.danger:hover{color:#d43c4b;background:#fff0f1}
.mobile-editbar{display:none}.danger-button{margin-top:7px;color:#c93443;border-color:#efc4c9;background:#fff8f8}.inspector-close,.panel-quick-delete{display:none}
.element-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0 7px}.element-actions button{font-size:11px}
.linear-tools{margin:12px 0;padding:10px;background:#f6f8fb;border:1px solid #e1e7ee;border-radius:8px}.linear-tools label{margin:5px 0}.linear-tools .element-actions{margin:6px 0 10px}
.array-copy{margin-top:10px;padding:10px;border:1px solid #dce3eb;border-radius:9px;background:#f8fafc}.array-copy strong{display:block;margin-bottom:7px;font-size:11px}
.array-tools{margin-top:10px;border:1px solid #d7e1eb;border-radius:10px;background:#fff}.array-tools>summary{min-height:42px;padding:12px;color:#294b6d;font-size:11px;font-weight:900;cursor:pointer;list-style:none}.array-tools>summary::-webkit-details-marker{display:none}.array-tools>summary::after{content:'⌄';float:right;color:#6f8296;font-size:16px;transition:transform .18s}.array-tools[open]>summary{border-bottom:1px solid #dfe7ef;background:#f3f7fb}.array-tools[open]>summary::after{transform:rotate(180deg)}.array-tools>.array-copy{margin:9px;border-color:#e2e8ef}.array-tools>.array-copy+.array-copy{margin-top:0}
.base-point-tools{margin-top:10px;padding:10px;border:1px solid #dce3eb;border-radius:9px;background:#f8fafc}.base-point-tools strong,.base-point-tools small{display:block}.base-point-tools small{margin:4px 0 8px;color:#68768a;font-size:9px}
.multi-selected-panel{padding:14px!important;background:#f1f6ff;border:1px solid #cbdcff!important;border-radius:9px;margin:8px 0}.multi-selected-panel strong,.multi-selected-panel small{display:block}.multi-selected-panel small{margin:5px 0 12px;color:#68768a;font-size:9px}.multi-controls{display:grid;gap:7px;margin-bottom:10px}.multi-controls label{font-size:9px}.multi-controls input,.multi-controls select{width:100%;margin-top:4px;padding:8px;border:1px solid #cbd6e4;border-radius:6px;background:#fff}
.multi-selection-summary{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 10px}.multi-selection-summary span{padding:8px;border:1px solid #cbdcff;border-radius:7px;background:#fff;color:#52647b;font-size:9px}.multi-selection-summary b{display:block;margin-top:2px;color:#17253d;font-size:13px;font-variant-numeric:tabular-nums}.multi-selection-summary>small,.multi-summary-actions{grid-column:1/-1}.multi-selection-summary>small{margin:0!important;padding:2px;color:#52647b}.multi-summary-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.multi-summary-actions button{min-width:0;min-height:40px;padding:7px 5px}
.multi-attributes{display:grid;gap:7px;margin:3px 0;padding:9px;border:1px solid #cbdcff;border-radius:8px;background:#fff}.multi-attributes legend{padding:0 5px;color:#40526a;font-size:10px;font-weight:700}.multi-attributes input[type="color"]{height:40px;padding:3px}
.workspace{position:relative;overflow:hidden;background:#f8fafc;touch-action:none;overscroll-behavior:none}
canvas{display:block;width:100%;height:100%;touch-action:none}
.touch-loupe{position:absolute;z-index:12;width:140px;height:100px;border:3px solid #fff;border-radius:16px;background:#fff;box-shadow:0 8px 28px #101b2d66;pointer-events:none}
.floating{position:absolute;z-index:2;top:13px;left:14px;right:14px;display:flex;align-items:center;gap:7px;pointer-events:none}
.floating>*{pointer-events:auto}
.chip{background:white;border:1px solid #d6dee7;border-radius:6px;padding:7px 10px;font-size:11px;box-shadow:0 2px 7px #20304a0d}
.chip.active{color:var(--blue);border-color:#9ebcf5;background:#f5f8ff}
.floating span{margin-left:auto;background:#18273fe9;color:white;padding:7px 11px;border-radius:6px;font-size:11px}
.inspector-toggle{display:none}
.image-transform-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:7px 0}.image-transform-actions button{min-height:40px;padding:8px 5px;font-size:9px}\n.room-fields{background:#f5f8fc;border-radius:8px;padding:7px;margin:9px 0}.room-fields select{display:block;width:100%;border:1px solid #d3dbe3;border-radius:7px;padding:9px;margin-top:5px;background:white}.finish-breakdown{margin-top:8px}.finish-breakdown span{display:flex;justify-content:space-between;font-size:9px;padding:4px 0;color:#647286}.finish-breakdown i{font-style:normal}.finish-breakdown b{color:#344256}
.layer-picker{pointer-events:auto;margin:0;display:flex;align-items:center;gap:6px;background:white;border:1px solid #d6dee7;border-radius:6px;padding:4px 7px;font-size:10px}.layer-picker select,#itemLayer{border:0;background:transparent;color:#344256;font-weight:700;outline:none}.layer-list{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:14px}.layer-row{display:grid;grid-template-columns:1fr 30px;gap:3px}.layer-row label{display:flex;align-items:center;gap:6px;margin:0;padding:7px;border:1px solid #e3e8ee;border-radius:6px}.layer-row>button{border:1px solid #e3e8ee;border-radius:6px;background:#f8fafc;font-size:13px}.layer-row>button.active{color:#b73a47;background:#fff1f2;border-color:#efc4c9}.layer-list input{width:auto;margin:0}.layer-dot{width:8px;height:8px;border-radius:50%}.layer-dot.existing{background:#526171}.layer-dot.new{background:#2368e8}.layer-dot.demolition{background:#dc4250}.layer-dot.openings{background:#a25fd0}.layer-dot.dimensions{background:#1a9a73}
.selection-result-picker{pointer-events:auto;margin:0;display:flex;align-items:center;gap:5px;background:white;border:1px solid #d6dee7;border-radius:6px;padding:4px 7px;font-size:10px;white-space:nowrap}.selection-result-picker select{border:0;background:transparent;color:#344256;font-weight:700;outline:none}
.drawing-aid{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #dfe6ee;border-radius:8px;background:#f7f9fc}.drawing-aid input{width:20px;margin:0}.drawing-aid select{margin-left:auto;width:82px;padding:7px;border:1px solid #ccd6e1;border-radius:6px;background:#fff}.drawing-aid span,.drawing-aid small{display:block}.drawing-aid small{margin-top:3px;color:#778496;font-size:9px}
.paper-frame-editor #arrangePaperFrames{margin:7px 0 4px;min-height:42px}.paper-frame-editor #arrangePaperFrames.active{color:#fff;background:#2368e8;border-color:#2368e8;box-shadow:0 4px 12px #2368e833}.paper-frame-editor #paperArrangeHelp{display:block;margin:0 2px 8px;color:#68778b;line-height:1.5}
.print-range-option{margin:8px 0}.print-preview-additional-pages{display:contents}
.paper-navigator{position:absolute;z-index:6;left:50%;bottom:18px;display:flex;align-items:stretch;transform:translateX(-50%);border:1px solid #cad5e1;border-radius:12px;background:#fffffff2;box-shadow:0 5px 18px #17253d26;overflow:hidden;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.paper-navigator>button{min-width:42px;min-height:42px;padding:5px 10px;border-radius:0;background:transparent;color:#28425f}.paper-navigator>button+button{border-left:1px solid #dce3eb}.paper-navigator>button:first-child,.paper-navigator>button:last-child{font-size:24px}.paper-navigator #focusPaperFrame{min-width:116px}.paper-navigator b,.paper-navigator small{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-navigator b{font-size:10px}.paper-navigator small{margin-top:2px;color:#718096;font-size:8px}.paper-navigator.single-sheet>button:first-child,.paper-navigator.single-sheet>button:last-child{opacity:.35}
.guide{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;background:#ffffffeb;border:1px solid #e0e6ec;border-radius:14px;padding:25px 32px;box-shadow:0 15px 40px #26384d17;pointer-events:none}
.guide button{pointer-events:auto}
.guide-close{position:absolute;right:8px;top:8px;width:36px;height:36px;border-radius:8px;background:#eef2f6;color:#526176;font-size:21px}.guide-dismissed{display:none!important}
.guide>span{font-size:30px;color:var(--blue)}
.guide strong{display:block;margin:9px}
.guide p{font-size:12px;color:var(--muted)}
.guide ol{display:grid;gap:8px;margin:12px 0 15px;padding:0;text-align:left;list-style:none}.guide li{padding:8px 10px;border-radius:8px;background:#f5f8fc}.guide li b,.guide li span{display:block}.guide li b{font-size:10px;color:#26384d}.guide li span{margin-top:3px;color:#66758a;font-size:9px;line-height:1.5}
.guide #openSample{margin-top:7px}
.zoom{position:absolute;bottom:18px;right:18px;display:flex;background:white;border:1px solid #d6dee7;border-radius:7px;box-shadow:0 3px 10px #26384d15;overflow:hidden}
.zoom button,.zoom span{background:white;padding:7px 9px;font-size:11px;border-right:1px solid #e4e9ee}
.scale{position:absolute;bottom:21px;left:16px;color:#788597;font-size:10px}
aside{background:white;border-left:1px solid var(--line);overflow:auto;padding:19px}
aside h2{font-size:18px;margin:2px 0 14px}
.caps{color:#99a4b2;letter-spacing:1.5px;font-size:9px;font-weight:800;margin:0}
aside section{padding:14px 0;border-top:1px solid #edf0f3}
.item-color-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px}.item-color-row input[type="color"]{display:block;width:100%;height:42px;margin-top:5px;padding:3px;border:1px solid #d4dce5;border-radius:7px;background:#fff}.item-color-row button{height:42px;margin-bottom:1px;font-size:10px}.attribute-select-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px}.attribute-select-row button{min-height:42px}
h3{font-size:12px;margin:2px 0 12px}
label{display:block;font-size:11px;color:#59677a;margin:10px 0}
label input,label textarea{display:block;width:100%;border:1px solid #d3dbe3;border-radius:7px;padding:9px;margin-top:5px;color:#1b293c;outline:none}label textarea{resize:vertical}
label input:focus,label textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2368e813}
.asset-fields input[type=file]{font-size:9px;padding:6px}.asset-preview{display:flex;align-items:center;gap:5px;min-height:38px;margin-top:5px}.asset-preview img{display:none;max-width:90px;max-height:34px;object-fit:contain}.asset-preview img[src]:not([src=""]){display:block}.asset-preview.seal img{max-width:38px}.asset-preview button{margin-left:auto;padding:6px;border-radius:5px;background:#eef2f6;font-size:9px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.exact-fields input{font-variant-numeric:tabular-nums;font-weight:700}
.print-template-option{margin-bottom:8px;padding:9px;border:1px solid #dce4ec;border-radius:8px;background:#f7f9fc}.print-template-option label{margin:0}.print-template-option select,.print-options select{display:block;width:100%;border:1px solid #d3dbe3;border-radius:7px;padding:9px;margin-top:5px;background:white}.print-template-option small{display:block;margin-top:6px;color:#728096;font-size:9px}.print-options select{display:block;width:100%;border:1px solid #d3dbe3;border-radius:7px;padding:9px;margin-top:5px;background:white}.print-button{margin-bottom:8px}.print-button~button{margin-bottom:7px}.print-sheet{display:none}
.print-frame{border:1.2mm solid #17253d;height:190mm;display:grid;grid-template-columns:1fr 67mm;background:white;color:#111}
.print-drawing{min-width:0;display:grid;place-items:center;overflow:hidden}.print-drawing img{width:100%;height:100%;object-fit:fill}
.title-block{min-height:0;overflow:hidden;border-left:.5mm solid #17253d;display:grid;grid-template-columns:1fr 1fr;align-content:end}.title-block>div{border-top:.25mm solid #17253d;padding:2mm;min-height:15mm;display:flex;flex-direction:column}.title-block>div:nth-child(even){border-left:.25mm solid #17253d}.title-block small{font-size:7pt;color:#555}.title-block strong{font-size:9pt;word-break:break-word}.title-block .tb-brand,.title-block .tb-summary{grid-column:1/-1;border-left:0}.title-block .tb-brand{position:relative;min-height:24mm;justify-content:center}.tb-brand>img:not(.print-seal){max-width:42mm;max-height:9mm;object-fit:contain;object-position:left}.tb-brand strong{font-size:16pt;letter-spacing:1px}.tb-brand .print-seal{position:absolute;right:2mm;top:2mm;width:14mm;height:14mm;object-fit:contain;opacity:.82}.title-block .tb-summary,.title-block .tb-notes{grid-column:1/-1;border-left:0;min-height:14mm}.title-block .tb-notes strong{white-space:pre-wrap;font-size:7pt}
.title-block .tb-finishes{grid-column:1/-1;border-left:0;min-height:35mm}.print-finish-schedule{display:block!important}.print-finish-schedule>span{display:grid;grid-template-columns:1.1fr 1.4fr .8fr 1.2fr;gap:1mm;border-top:.15mm solid #aaa;padding:1.2mm 0;font-size:6.5pt}.print-finish-schedule b,.print-finish-schedule i,.print-finish-schedule em{font-style:normal;font-weight:400}.print-finish-schedule b{font-weight:700}
.title-block .tb-openings{grid-column:1/-1;border-left:0;min-height:30mm}.print-opening-schedule{display:block!important}.print-opening-schedule>span{display:grid;grid-template-columns:.6fr 1.2fr .8fr .8fr 1.3fr;gap:.8mm;border-top:.15mm solid #aaa;padding:1mm 0;font-size:6pt}.print-opening-schedule b,.print-opening-schedule i,.print-opening-schedule em{font-style:normal;font-weight:400}.print-opening-schedule b{font-weight:700}
@page{size:A4 landscape;margin:5mm}
@media print{.print-sheet[data-paper="A4"]{width:270mm;height:180mm}.print-sheet[data-paper="A3"]{width:390mm;height:265mm}.print-sheet .print-frame{width:100%;height:100%;grid-template-columns:1fr 62mm}.print-sheet[data-template="site"] .print-frame{grid-template-columns:1fr 52mm}.print-sheet[data-template="drawing"] .print-frame{grid-template-columns:1fr;grid-template-rows:1fr 36mm}.print-sheet[data-template="drawing"] .title-block{border-left:0;border-top:.5mm solid #17253d;grid-template-columns:repeat(9,1fr);align-content:stretch}.print-sheet[data-template="drawing"] .title-block>div{min-height:0;padding:1.2mm;border-top:0;border-left:.2mm solid #8090a4}.print-sheet[data-template="drawing"] .title-block .tb-brand{grid-column:span 2!important}.print-sheet[data-template="drawing"] .title-block .tb-summary,.print-sheet[data-template="drawing"] .title-block .tb-notes,.print-sheet[data-template="drawing"] .title-block .tb-finishes,.print-sheet[data-template="drawing"] .title-block .tb-openings{display:none}.print-sheet[data-template="drawing"] .tb-brand strong{font-size:11pt}.print-sheet[data-template="drawing"] .tb-brand>img:not(.print-seal){max-width:25mm;max-height:6mm}.print-sheet[data-template="drawing"] .tb-brand .print-seal{width:9mm;height:9mm}.print-sheet[data-template="site"] .title-block .tb-finishes,.print-sheet[data-template="site"] .title-block .tb-openings{display:none}.print-sheet[data-template="site"] .title-block>div{min-height:17mm}.print-sheet[data-template="site"] .title-block strong{font-size:10pt}.print-sheet[data-template="standard"] .title-block{background:linear-gradient(180deg,#f5f8fc 0 24mm,#fff 24mm)}.print-sheet[data-template="standard"] .tb-brand{border-bottom:.7mm solid #2368e8}}
@media print{html,body{width:auto;height:auto;margin:0;background:white;overflow:visible}.app,.auth,.toast,dialog{display:none!important}.print-sheet{display:block!important;margin:0;overflow:hidden;break-inside:avoid;page-break-inside:avoid}.print-frame{break-inside:avoid;page-break-inside:avoid}}
.estimate-print-sheet[aria-hidden="true"]{display:none!important}.estimate-print-frame{width:100%;height:100%;padding:10mm;border:1.2mm solid #17253d;background:#fff;color:#111}.estimate-print-head{display:flex;height:auto;padding:0 0 5mm;border-bottom:.7mm solid #17253d;background:#fff;color:#17253d;justify-content:space-between;align-items:end}.estimate-print-head div{display:flex;flex-direction:column}.estimate-print-head strong{font-size:18pt;letter-spacing:1px}.estimate-print-head small{font-size:7pt;color:#667}.estimate-print-head h1{margin:0;font-size:24pt;letter-spacing:4px}.estimate-print-meta{display:grid;grid-template-columns:1fr 1fr 1fr;margin:6mm 0 8mm;border-top:.25mm solid #777;border-left:.25mm solid #777}.estimate-print-meta div{padding:2.5mm;border-right:.25mm solid #777;border-bottom:.25mm solid #777}.estimate-print-meta dt{font-size:7pt;color:#666}.estimate-print-meta dd{margin:1mm 0 0;font-size:9pt;font-weight:700}.estimate-print-table{width:100%;border-collapse:collapse;font-size:9pt}.estimate-print-table th,.estimate-print-table td{padding:3mm;border:.25mm solid #555;text-align:right}.estimate-print-table th:first-child,.estimate-print-table td:first-child{text-align:left}.estimate-print-table thead{background:#e9eef4}.estimate-print-table tfoot{font-size:12pt}.estimate-print-table tfoot td{font-weight:900}.estimate-print-note{margin-top:5mm;font-size:7pt;color:#666}@media print{.estimate-print-sheet{page-break-before:always;break-before:page}.print-sheet[data-paper="A4"].estimate-print-sheet{width:270mm;height:180mm}.print-sheet[data-paper="A3"].estimate-print-sheet{width:390mm;height:265mm}}
.selectedtype{display:flex;align-items:center;gap:10px;background:#f4f7fb;padding:10px;border-radius:8px}
.selectedtype>b{font-size:23px;color:var(--blue)}
.selectedtype span{display:flex;flex-direction:column}
.selectedtype small{color:var(--muted)}
.summary{background:#f5f8fc;border:1px solid #e1e7ee!important;border-radius:10px;padding:13px!important;margin:3px 0 13px}
.summaryhead{display:flex;justify-content:space-between}
.summaryhead span{font-size:9px;background:#dff8ee;color:#168765;padding:4px 6px;border-radius:5px}
.summary dl{margin:5px 0}
.summary dl div{display:flex;justify-content:space-between;padding:7px 0;font-size:11px;border-bottom:1px solid #e3e8ee}
.estimate{display:flex;justify-content:space-between;align-items:end;padding-top:12px}
.estimate>span{font-size:11px}
.estimate small{display:block;color:var(--muted);font-size:8px}
.estimate strong{font-size:20px;color:var(--blue)}
footer{background:#26354b;color:#aeb9c7;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:9px}
.auth{position:fixed;inset:0;z-index:20;background:linear-gradient(125deg,#142238 0 58%,#eef3f7 58%);display:grid;grid-template-columns:1fr 420px;align-items:center;gap:8vw;padding:8vw}
.pitch{color:#dfe8f3;max-width:580px}.login-brand{display:inline-block;margin:-28px 0 0 42px;vertical-align:top;letter-spacing:1.2px}
.pitch h1{font-size:48px;line-height:1.35;margin:18px 0}
.pitch em{font-style:normal;color:#62a3ff}
.pitch>p{color:#aebbd0;line-height:2}
.benefits{margin-top:30px;color:#75d8b1}
.authcard{background:white;padding:34px;border-radius:16px;box-shadow:0 25px 80px #0d17242b}.auth-legal{margin:12px 0 0;color:#7a8798;font-size:9px;line-height:1.7;text-align:center}.auth-legal a,.account-legal a{color:#2368e8}.account-legal{text-align:center;font-size:10px}.footer-links{display:flex;gap:12px}.footer-links a{color:#c3cedb;text-decoration:none}.footer-links a:hover{text-decoration:underline}
.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:23px}
.auth-notice{padding:10px 12px;border-radius:8px;background:#edf7f2;color:#237454;font-size:11px;line-height:1.7}.google-auth{margin-top:14px;text-align:center}.google-auth>span{display:block;margin-bottom:10px;color:#8a95a4;font-size:10px}.google-auth #googleButton{display:flex;justify-content:center}
.tabs button{flex:1;background:none;padding:12px;color:#8792a2;font-weight:700}
.tabs button.active{color:var(--blue);border-bottom:2px solid var(--blue)}
.link{background:none;color:var(--blue);width:100%;padding:16px}
.error{color:#d43c4b;font-size:11px;min-height:16px}
.toast{position:fixed;z-index:50;left:50%;top:75px;transform:translate(-50%,-15px);background:#17253dec;color:white;padding:11px 18px;border-radius:8px;font-size:12px;opacity:0;pointer-events:none;transition:.25s}
.toast.show{opacity:1;transform:translate(-50%,0)}
.update-banner{position:fixed;z-index:1000;left:50%;bottom:max(14px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:8px;width:min(560px,calc(100vw - 24px));padding:10px 12px;border:1px solid #9ebcf5;border-radius:11px;background:#fff;box-shadow:0 10px 30px #17253d33;transform:translateX(-50%)}.update-banner span{min-width:0;flex:1}.update-banner b,.update-banner small{display:block}.update-banner b{font-size:10px}.update-banner small{margin-top:3px;color:#66758a;font-size:8px}.update-banner button{min-height:36px;padding:8px 11px;font-size:9px}@media(max-width:520px){.update-banner{align-items:stretch;flex-wrap:wrap}.update-banner span{flex-basis:100%}.update-banner button{flex:1}}
dialog{border:0;border-radius:14px;padding:28px;width:300px;text-align:center;box-shadow:0 25px 80px #111a}
.close{position:absolute;right:10px;top:10px;background:none;font-size:20px}
.big{display:grid!important;margin:auto;width:50px!important;height:50px!important}
.badge{font-size:9px;background:#eaf1ff;color:var(--blue);padding:5px 8px;border-radius:5px}
dialog hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.actions .projects-button{width:auto!important;padding:0 12px!important;font-size:11px!important}
.project-dialog{width:min(760px,92vw);padding:25px;text-align:left}
.project-dialog::backdrop,dialog::backdrop{background:#10192799;backdrop-filter:blur(3px)}
.dialog-head,.dialog-actions{display:flex;align-items:center;justify-content:space-between}
.dialog-head h2{margin:3px 0 18px}.dialog-actions{gap:12px}
.search{margin:0;display:flex;align-items:center;gap:8px;border:1px solid #d3dbe3;border-radius:8px;padding:0 10px;flex:1}
.search input{border:0;margin:0}.project-sort,.project-folder-filter{display:flex;align-items:center;gap:6px;margin:0;padding:0 8px;border:1px solid #d3dbe3;border-radius:8px;color:#69778a;font-size:9px}.project-sort select,.project-folder-filter select{width:auto;min-width:105px;margin:0;padding:8px 2px;border:0;background:#fff;font-size:10px}.project-list{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;max-height:55vh;overflow:auto;margin-top:20px}
.project-card{position:relative;border:1px solid #e0e6ed;border-radius:10px;background:white;overflow:hidden;transition:.18s;text-align:left}.project-card:hover{border-color:#8eb1f0;transform:translateY(-2px);box-shadow:0 8px 20px #25364c12}.project-open{display:block;width:100%;padding:0;background:white;text-align:left}.project-favorite-button,.project-menu-button{position:absolute;top:7px;width:34px;height:34px;border-radius:7px;background:#fffffff2;opacity:0;box-shadow:0 2px 8px #26384d18}.project-favorite-button{right:48px;color:#b77908;font-size:20px}.project-menu-button{right:7px;color:#526176;font-size:20px}.project-card:hover .project-favorite-button,.project-card:hover .project-menu-button{opacity:1}.project-card.favorite{border-color:#e5b64b}.project-card.favorite .project-folder-label{color:#9a6a05}.project-actions-dialog{width:min(380px,92vw);padding:22px}.project-action-list{display:grid;gap:9px}.project-action-list button{width:100%;min-height:44px}.project-action-list .danger{background:#fff0f1;color:#bd3443;border:1px solid #f2c4c9}
.version-summary{margin:-6px 0 14px;color:#66758a;font-size:11px}.version-list{display:grid;gap:8px;max-height:55vh;overflow:auto;margin-bottom:14px}.version-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #dfe6ee;border-radius:9px;background:#f8fafc}.version-list article span,.version-list article small{display:block}.version-list article small{margin-top:4px;color:#778497;font-size:9px}.version-list article button{flex:none}.version-dialog{width:min(680px,92vw)}
@media (hover:none),(max-width:700px){.project-favorite-button,.project-menu-button{opacity:1}.version-list article{align-items:stretch;flex-direction:column}.version-list article button{width:100%}}
.trash-project-card{display:flex;align-items:center;justify-content:space-between;gap:12px;grid-column:1/-1;padding:14px;border:1px solid #e0e6ed;border-radius:9px;background:#f8fafc}.trash-project-card span,.trash-project-card small{display:block}.trash-project-card small{margin-top:4px;color:#7b8797;font-size:9px}@media(max-width:600px){.trash-project-card{align-items:stretch;flex-direction:column}.trash-project-card button{width:100%}}
.project-thumb{height:105px;background-color:#f6f8fa;background-image:linear-gradient(#e5eaf0 1px,transparent 1px),linear-gradient(90deg,#e5eaf0 1px,transparent 1px);background-size:cover;background-position:center;display:grid;place-items:center;color:#95a2b2;font-size:25px}
.project-info{padding:12px}.project-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.project-info small{display:block;color:#8a96a6;font-size:9px}.project-info .project-folder-label{margin-top:4px;color:#4770a8}
.empty-projects,.loading{grid-column:1/-1;text-align:center;color:#7e8a9b;padding:55px 10px}.empty-projects b{display:block;color:#344256;margin-bottom:7px}
.storage-usage{margin-top:14px;padding:11px 13px;background:#f5f8fc;border:1px solid #e1e7ee;border-radius:8px}.storage-usage>div{display:flex;justify-content:space-between;font-size:10px}.storage-usage span b{color:#2368e8}.storage-usage progress{display:block;width:100%;height:7px;margin:7px 0;border:0}.storage-usage progress::-webkit-progress-bar{background:#dce4ed;border-radius:8px}.storage-usage progress::-webkit-progress-value{background:#2368e8;border-radius:8px}.storage-usage small{color:#758295;font-size:9px}
.storage-usage.storage-warning{background:#fff6e8;border-color:#efbd67}.storage-usage.storage-warning progress::-webkit-progress-value{background:#e18a23}
.admin-dialog{width:min(680px,92vw);padding:25px;text-align:left}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.admin-stats article{background:#f5f8fc;border:1px solid #e0e6ed;border-radius:10px;padding:15px}.admin-stats article small,.admin-stats article span{display:block;color:#7b8797;font-size:9px}.admin-stats article strong{display:block;font-size:22px;margin:7px 0;color:#1e3451}.plan-chart{grid-column:1/-1;border-top:1px solid #e1e6ec;padding-top:15px}.plan-chart div{display:grid;grid-template-columns:100px 1fr;max-width:260px;padding:5px 0;font-size:11px}.plan-chart div b{text-align:right}.admin-dialog+.secondary{margin-top:7px}@media(max-width:600px){.admin-stats{grid-template-columns:1fr 1fr}}
@media(max-width:850px){main{grid-template-columns:72px 1fr}
aside{position:absolute;right:0;top:62px;bottom:27px;width:290px;z-index:4;box-shadow:-8px 0 25px #1d2c4018}
.inspector-toggle{display:block}.inspector-closed aside{transform:translateX(105%);box-shadow:none}aside{transition:transform .2s ease}.tool{min-height:60px}.chip,.zoom button{min-height:44px;min-width:44px}
.project input{width:170px}
.auth{grid-template-columns:1fr;background:#eef3f7;padding:20px}
.pitch{display:none}
}
.sheet-template-actions{display:flex;flex:0 0 auto;gap:6px}.sheet-template-actions button{white-space:nowrap}.paper-template-completion{display:inline-flex!important;width:max-content;margin-top:7px;padding:3px 7px;border-radius:20px;background:#e9f7ef;color:#267344!important;font-size:8px!important;font-style:normal!important;font-weight:800}.paper-template-completion.missing{background:#fff1e5;color:#a45219!important}
.paper-template-field-checklist{margin:-2px 0 10px;padding:9px;border:1px solid #dde6ee;border-radius:10px;background:#fff}.paper-template-field-checklist>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.paper-template-field-checklist>div:first-child>span{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.paper-template-field-checklist strong{color:#29445f;font-size:9px}.paper-template-field-checklist small{color:#a45219;font-size:8px;font-weight:700}.paper-template-field-checklist>div:last-child{display:flex;flex-wrap:wrap;gap:5px}.paper-template-field-checklist button,.paper-template-field-checklist>span.complete{min-height:30px;padding:5px 8px;border:1px solid #d5e0e9;border-radius:18px;background:#f5f8fb;color:#526b82;font-size:8px;font-weight:800}.paper-template-field-checklist button.missing{border-color:#efc99f;background:#fff5e9;color:#984c19}.paper-template-field-checklist button.complete,.paper-template-field-checklist>span.complete{border-color:#b9dec8;background:#eef9f2;color:#287244}.paper-template-field-checklist button.paper-template-field-toggle{min-height:28px;padding:4px 8px;border-color:#bfd1e2;background:#edf5fc;color:#245f9d;white-space:nowrap}.paper-template-field-checklist button.paper-template-next-missing{min-height:28px;padding:4px 9px;border-color:#2374d8;background:#2374d8;color:#fff;white-space:nowrap}.paper-template-progress{height:5px;margin:0 0 8px;border-radius:9px;background:#e7edf3;overflow:hidden}.paper-template-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2374d8,#27a26b);transition:width .2s ease}
.paper-template-preview-action{margin:-2px 0 12px;min-height:42px;background:linear-gradient(135deg,#2368e8,#174ea8);box-shadow:0 5px 14px #1f63c52b}.paper-template-preview-action:disabled{opacity:.65;cursor:wait}
.paper-sheet-content-status{display:grid;gap:7px;margin:-2px 0 8px;padding:8px 10px;border:1px solid #b9dec8;border-radius:9px;background:#eff9f3;color:#287244}.paper-sheet-content-status>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.paper-sheet-content-status b,.paper-sheet-content-status span{font-size:8px}.paper-sheet-content-status span{text-align:right}.paper-sheet-content-status.empty{border-color:#efc99f;background:#fff5e9;color:#984c19}.paper-sheet-content-status.empty>div{align-items:flex-start;flex-direction:column}.paper-sheet-content-status.empty span{text-align:left;line-height:1.5}.paper-sheet-content-status button{min-height:36px;border:1px solid currentColor;border-radius:8px;background:#fff;color:#245f9d;font-size:8px;font-weight:800}
@media(max-width:520px){.paper-sheet-content-status button{min-height:44px}}
@media(max-width:520px){.sheet-template-control{align-items:flex-start;flex-direction:column}.sheet-template-actions{width:100%}.sheet-template-actions button{flex:1;min-width:0}.paper-template-completion{margin-top:6px}.paper-template-field-checklist button{min-height:40px}.paper-template-field-checklist>div:first-child{align-items:flex-start;flex-direction:column;gap:5px}.paper-template-field-checklist>div:first-child>span{width:100%;justify-content:flex-start}.paper-template-field-checklist button.paper-template-field-toggle,.paper-template-field-checklist button.paper-template-next-missing{min-height:40px}.paper-template-progress{height:7px}}
.paper-template-thumb.bottom-grid i:first-child{inset:6% 5% 25%;background:repeating-linear-gradient(0deg,#fff 0 9px,#d9e2ea 10px)}.paper-template-thumb.bottom-grid i:nth-child(2){inset:78% 5% 5%}.paper-template-thumb.side-note i:first-child,.paper-template-thumb.photo-side i:first-child{inset:6% 31% 6% 5%}.paper-template-thumb.side-note i:nth-child(2),.paper-template-thumb.photo-side i:nth-child(2){inset:6% 5% 6% 72%}.paper-template-thumb.photo-side i:nth-child(3){inset:53% 7% 9% 74%;background:#ced9e3}.paper-template-thumb.site-detail i:first-child,.paper-template-thumb.site-green i:first-child{inset:6% 28% 6% 5%}.paper-template-thumb.site-detail i:nth-child(2),.paper-template-thumb.site-green i:nth-child(2){inset:6% 5% 6% 75%}.paper-template-thumb.site-detail:after{content:"寸法 GL";position:absolute;left:12%;top:42%;color:#49708f;font-size:7px}.paper-template-thumb.site-green i:nth-child(2){background:#e5f2e5}.paper-template-thumb.property-photo i:first-child,.paper-template-thumb.property-house i:first-child{inset:6% 5% auto;height:16%;background:#2475cb}.paper-template-thumb.property-house i:first-child{background:#16745a}.paper-template-thumb.property-photo i:nth-child(2),.paper-template-thumb.property-house i:nth-child(2){inset:28% 48% 7% 5%;background:#d8e2ea}.paper-template-thumb.property-photo i:nth-child(3),.paper-template-thumb.property-house i:nth-child(3){inset:28% 5% 7% 56%}
.paper-template-filters{display:flex;gap:7px;margin:0 0 6px;padding-bottom:4px;overflow-x:auto;scrollbar-width:thin}.paper-template-filters button{flex:0 0 auto;min-height:36px;padding:7px 12px;border:1px solid #d3dde7;border-radius:20px;background:#f7f9fb;color:#4d6379;font-size:9px;font-weight:800}.paper-template-filters button.active{border-color:#2374d8;background:#2374d8;color:#fff}.paper-template-count{margin:0 0 10px;color:#718296;font-size:8px;text-align:right}
@media(max-width:680px){.paper-template-filters{margin-inline:-4px;padding:2px 4px 7px}.paper-template-filters button{min-height:44px}.paper-template-count{text-align:left}}
.sheet-template-control{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0;padding:10px;border:1px solid #d8e3ed;border-radius:10px;background:#f5f9fc}.sheet-template-control span{min-width:0}.sheet-template-control small,.sheet-template-control strong{display:block}.sheet-template-control small{color:#718296;font-size:8px}.sheet-template-control strong{margin-top:2px;color:#213e5d;font-size:11px}.sheet-template-control button{flex:0 0 auto}
.paper-template-dialog{width:min(860px,calc(100vw - 24px));max-height:min(820px,calc(100dvh - 24px));padding:18px;border:0;border-radius:18px}.paper-template-lead{margin:0 0 14px;color:#65778b}.paper-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;overflow:auto}.paper-template-card{position:relative;display:flex;flex-direction:column;gap:9px;min-width:0;padding:10px;border:1px solid #d8e0e9;border-radius:13px;background:#fff;color:#22384f;text-align:left}.paper-template-card:hover,.paper-template-card.active{border-color:#2374d8;box-shadow:0 5px 18px #1e65b31f}.paper-template-card>b{position:absolute;top:15px;right:15px;padding:3px 6px;border-radius:20px;background:#2374d8;color:#fff;font-size:8px}.paper-template-card>span:nth-child(2) small,.paper-template-card>span:nth-child(2) strong,.paper-template-card>span:nth-child(2) em{display:block}.paper-template-card>span:nth-child(2) small{color:#67809b;font-size:8px}.paper-template-card>span:nth-child(2) strong{margin:2px 0;font-size:11px}.paper-template-card>span:nth-child(2) em{color:#697888;font-size:8px;font-style:normal;line-height:1.5}.paper-template-thumb{position:relative;display:block;width:100%;aspect-ratio:1.414;border:1px solid #afbcc9;background:#fff;overflow:hidden}.paper-template-thumb i{position:absolute;display:block;border:1px solid #9dadbd;background:#edf3f8}.paper-template-thumb.right i:first-child{inset:8% 31% 8% 6%}.paper-template-thumb.right i:nth-child(2){inset:8% 6% 8% 72%}.paper-template-thumb.bottom i:first-child{inset:7% 6% 27%}.paper-template-thumb.bottom i:nth-child(2){inset:76% 6% 6%}.paper-template-thumb.side i:first-child,.paper-template-thumb.site i:first-child,.paper-template-thumb.right-accent i:first-child{inset:7% 27% 7% 6%}.paper-template-thumb.side i:nth-child(2),.paper-template-thumb.site i:nth-child(2),.paper-template-thumb.right-accent i:nth-child(2){inset:7% 6% 7% 75%}.paper-template-thumb.right-accent:after,.paper-template-thumb.site:after{content:"";position:absolute;inset:7% 6% auto 75%;height:10%;background:#2a79cd}.paper-template-thumb.property i:first-child,.paper-template-thumb.property-sale i:first-child{inset:7% 6% auto;height:17%;background:#2368e8}.paper-template-thumb.property-sale i:first-child{background:#168064}.paper-template-thumb.property i:nth-child(2),.paper-template-thumb.property-sale i:nth-child(2){inset:29% 42% 7% 6%}.paper-template-thumb.property i:nth-child(3),.paper-template-thumb.property-sale i:nth-child(3){inset:29% 6% 7% 61%}.paper-template-thumb.blank:after{content:"自由";position:absolute;inset:0;display:grid;place-items:center;color:#a3b0bc;font-size:9px}
@media(max-width:680px){.paper-template-dialog{padding:12px}.paper-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.paper-template-card{min-height:160px}.sheet-template-control button{min-height:44px}}
.paper-template-search{display:grid;grid-template-columns:28px 1fr 36px;align-items:center;margin:0 0 10px;border:1px solid #cbd7e3;border-radius:12px;background:#f8fafc;color:#61778e}.paper-template-search:focus-within{border-color:#2374d8;box-shadow:0 0 0 3px #2374d81c}.paper-template-search>span{text-align:center}.paper-template-search input{min-width:0;height:42px;padding:0;border:0;background:transparent;color:#213850;font:inherit;outline:0}.paper-template-search button{width:32px;height:32px;padding:0;border:0;background:transparent;color:#75879a}.paper-template-card{padding:0;overflow:hidden}.paper-template-card-main{position:relative;display:flex;flex-direction:column;gap:9px;width:100%;height:100%;padding:10px 10px 38px;border:0;background:#fff;color:#22384f;text-align:left}.paper-template-card-main>b{position:absolute;top:15px;right:15px;padding:3px 6px;border-radius:20px;background:#2374d8;color:#fff;font-size:8px}.paper-template-card-main>span:nth-child(2) small,.paper-template-card-main>span:nth-child(2) strong,.paper-template-card-main>span:nth-child(2) em{display:block}.paper-template-card-main>span:nth-child(2) small{color:#67809b;font-size:8px}.paper-template-card-main>span:nth-child(2) strong{margin:2px 0;font-size:11px}.paper-template-card-main>span:nth-child(2) em{color:#697888;font-size:8px;font-style:normal;line-height:1.5}.paper-template-favorite{position:absolute;right:7px;bottom:6px;z-index:2;width:34px;height:30px;padding:0;border:1px solid #d8e0e9;border-radius:9px;background:#fff;color:#75879a;font-size:17px}.paper-template-favorite.active{border-color:#e1ad2c;background:#fff8db;color:#c38700}.paper-template-empty{grid-column:1/-1;display:grid;place-items:center;min-height:180px;padding:24px;border:1px dashed #cbd7e3;border-radius:14px;color:#708297;text-align:center}.paper-template-empty b{color:#314a63}.paper-template-empty span{font-size:10px}@media(max-width:680px){.paper-template-search input{height:44px}.paper-template-favorite{width:40px;height:36px}}
.paper-template-card.previewing{border-color:#e59c21;box-shadow:0 0 0 2px #f3b94a55}.paper-template-detail{display:grid;grid-template-columns:minmax(180px,260px) 1fr auto;align-items:center;gap:14px;margin:0 0 14px;padding:12px;border:1px solid #cbd9e7;border-radius:14px;background:linear-gradient(145deg,#f8fbff,#edf4fb)}.paper-template-detail>.paper-template-thumb{width:100%;box-shadow:0 5px 16px #27496c24}.paper-template-detail small{color:#657c93;font-size:9px;font-weight:800}.paper-template-detail h3{margin:3px 0;color:#1f3e5c;font-size:16px}.paper-template-detail p{margin:0 0 6px;color:#637589;font-size:10px}.paper-template-detail-actions{display:grid;gap:7px}.paper-template-detail-actions button{min-height:44px;white-space:nowrap}@media(max-width:680px){.paper-template-detail{grid-template-columns:120px minmax(0,1fr);gap:9px;padding:9px}.paper-template-detail h3{font-size:12px}.paper-template-detail p{font-size:8px}.paper-template-detail-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.paper-template-detail-actions button{width:100%;white-space:normal}}
.paper-template-thumb.demolition-plan i:first-child,.paper-template-thumb.equipment-plan i:first-child,.paper-template-thumb.exterior-maintenance i:first-child{inset:6% 29% 6% 5%}.paper-template-thumb.demolition-plan i:nth-child(2),.paper-template-thumb.equipment-plan i:nth-child(2),.paper-template-thumb.exterior-maintenance i:nth-child(2){inset:6% 5% 6% 74%}.paper-template-thumb.demolition-plan:after{content:"撤去";position:absolute;left:18%;top:41%;padding:2px 5px;background:#bf3e49;color:#fff;font-size:7px}.paper-template-thumb.equipment-plan:after{content:"設備・電気";position:absolute;left:13%;top:41%;color:#267a91;font-size:7px;font-weight:800}.paper-template-thumb.finish-schedule i:first-child{inset:6% 38% 6% 5%}.paper-template-thumb.finish-schedule i:nth-child(2){inset:6% 5% 52% 65%;background:repeating-linear-gradient(0deg,#fff 0 7px,#d6ddea 8px)}.paper-template-thumb.finish-schedule i:nth-child(3){inset:55% 5% 6% 65%;background:repeating-linear-gradient(0deg,#fff 0 7px,#d6ddea 8px)}.paper-template-thumb.exterior-proposal i:first-child{inset:6% 34% 6% 5%}.paper-template-thumb.exterior-proposal i:nth-child(2){inset:6% 5% 55% 70%;background:#f4ead1}.paper-template-thumb.exterior-proposal i:nth-child(3){inset:52% 5% 6% 70%;background:#e6efe3}.paper-template-thumb.exterior-maintenance i:nth-child(2){background:repeating-linear-gradient(0deg,#f7fbf6 0 8px,#cddfce 9px)}.paper-template-thumb.land-sale i:first-child{inset:6% 5% auto;height:16%;background:#68542c}.paper-template-thumb.land-sale i:nth-child(2){inset:28% 39% 7% 5%;background:repeating-linear-gradient(45deg,#f8f1df 0 8px,#dbc68e 9px)}.paper-template-thumb.land-sale i:nth-child(3){inset:28% 5% 7% 66%}
.favorite-professional-tools{margin:0 0 10px;padding:10px;border:1px solid #f0cf6a;border-radius:14px;background:linear-gradient(145deg,#fffdf4,#fff8d9)}
.favorite-professional-tools>div:first-child,.recent-professional-tools>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.favorite-professional-tools h3,.recent-professional-tools h3{margin:0}.favorite-professional-tools small{color:#876d24}
#favoriteProfessionalToolList,#recentProfessionalToolList{display:grid;grid-template-columns:1fr 1fr;gap:6px}.professional-saved-tool{display:grid;grid-template-columns:minmax(0,1fr) 38px;min-width:0;border:1px solid #dbe3ea;border-radius:10px;overflow:hidden;background:#fff}.professional-saved-tool button{min-height:40px;border:0;background:#fff;color:#243342}.professional-saved-run{display:flex;align-items:center;gap:6px;min-width:0;padding:7px 8px;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.professional-saved-run span{flex:0 0 auto;color:#687786}.professional-saved-toggle{padding:0;border-left:1px solid #e3e9ee!important;font-size:19px!important;color:#98a4ad!important}.professional-saved-toggle.active{color:#e7a600!important;background:#fff9e5!important}.search-active-hidden{display:none!important}
@media(max-width:520px){#favoriteProfessionalToolList,#recentProfessionalToolList{grid-template-columns:1fr}.professional-saved-tool button{min-height:44px}}
@media(max-width:600px){.actions .projects-button{display:none}.project-list{grid-template-columns:1fr 1fr}.project-dialog{padding:18px}.dialog-actions{align-items:stretch;flex-direction:column}aside{display:block;position:fixed;left:62px;right:0;top:auto;bottom:27px;width:auto;height:min(68vh,600px);border-radius:15px 15px 0 0;box-shadow:0 -10px 35px #1d2c4025}.inspector-closed aside{transform:translateY(110%)}
main{grid-template-columns:62px 1fr}
.actions #undo,.actions #redo{display:none}
.project{padding-left:8px}
.project input{width:120px}
.brand>span+*{display:none}
.floating span{display:none}
.floating{flex-wrap:wrap}.layer-picker{order:3}.zoom{bottom:12px;right:10px}.scale{display:none}
}
@media(max-width:600px){body{overflow:hidden}.app{grid-template-rows:56px 1fr}header{height:56px;padding:5px 8px;gap:7px}.brand{flex:0 0 34px}.brand-name{display:none}.project{border:0;padding:0;min-width:0}.project input{width:min(38vw,150px);padding-left:2px;font-size:12px}.project small{display:none}.actions{gap:4px}.actions .primary{padding:9px 8px;font-size:10px}.actions>button:not(.primary){width:34px;height:34px}main{display:block;min-height:0}.workspace{height:100%}nav{position:fixed;z-index:8;left:0;right:0;bottom:0;height:76px;padding:5px 6px max(5px,env(safe-area-inset-bottom));display:flex;flex-direction:row;gap:2px;border:0;border-top:1px solid #dce3ea;overflow-x:auto}nav small,nav kbd{display:none}.tool{min-width:58px;min-height:60px;flex:1}.tool b{font-size:19px}nav #delete{display:none}.mobile-editbar{position:fixed;z-index:9;left:8px;bottom:84px;display:flex;gap:5px}.mobile-editbar button{height:44px;min-width:52px;padding:5px 8px;border:1px solid #d5dde6;border-radius:8px;background:#fff;box-shadow:0 3px 12px #26384d20;font-size:17px}.mobile-editbar span{display:block;font-size:9px}.mobile-editbar .danger{color:#c93443}aside{left:0;bottom:76px;height:min(72vh,620px)}.floating{top:7px;left:7px;right:7px}.zoom{bottom:136px;right:8px}.paper-navigator{bottom:88px}.paper-navigator>button{min-height:44px}.paper-navigator #focusPaperFrame{min-width:102px}.scale,footer{display:none}}
@media(max-width:900px) and (pointer:coarse){body{overflow:hidden}.app{height:100dvh;grid-template-rows:calc(56px + env(safe-area-inset-top)) 1fr}header{height:calc(56px + env(safe-area-inset-top));padding:calc(5px + env(safe-area-inset-top)) 8px 5px;gap:7px}.brand{flex:0 0 34px}.brand-name{display:none}.project{border:0;padding:0;min-width:0}.project input{width:min(38vw,150px);padding-left:2px;font-size:12px}.project small{display:none}.actions{gap:4px}.actions .primary{padding:9px 8px;font-size:10px}.actions>button:not(.primary){width:34px;height:34px}main{display:block;min-height:0}.workspace{height:100%}nav{position:fixed;z-index:8;left:0;right:0;bottom:0;height:calc(76px + env(safe-area-inset-bottom));padding:5px 6px max(5px,env(safe-area-inset-bottom));display:flex;flex-direction:row;gap:2px;border:0;border-top:1px solid #dce3ea;overflow-x:auto;overscroll-behavior-x:contain}nav small,nav kbd{display:none}.tool{min-width:58px;min-height:60px;flex:1}.tool b{font-size:19px}.tool.active{box-shadow:inset 0 3px var(--blue)}nav #delete{display:none}.mobile-editbar{position:fixed;z-index:9;left:max(8px,env(safe-area-inset-left));bottom:calc(84px + env(safe-area-inset-bottom));display:flex;gap:5px}.mobile-editbar button{height:44px;min-width:52px;padding:5px 8px;border:1px solid #d5dde6;border-radius:8px;background:#fff;box-shadow:0 3px 12px #26384d20;font-size:17px}.mobile-editbar span{display:block;font-size:9px}.mobile-editbar .danger{color:#c93443}aside{left:0;bottom:calc(76px + env(safe-area-inset-bottom));height:min(72dvh,620px)}.floating{top:7px;left:7px;right:7px;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:4px}.floating>*{flex:none}.floating::-webkit-scrollbar{display:none}.zoom{bottom:calc(136px + env(safe-area-inset-bottom));right:max(8px,env(safe-area-inset-right))}.scale,footer{display:none}}
@media(max-width:900px) and (pointer:coarse){.paneltitle{position:sticky;top:0;z-index:3;background:#fff;padding-right:48px}.inspector-close{display:grid;place-items:center;position:absolute;right:8px;top:8px;width:40px;height:40px;border-radius:9px;background:#eef2f6;font-size:24px}.panel-quick-delete{display:block;margin-top:9px;padding:9px 12px;border:1px solid #efc4c9;border-radius:8px;background:#fff5f6;color:#c93443;font-size:11px;font-weight:800}}
 .admin-dialog{width:min(960px,94vw)}.admin-members{grid-column:1/-1;border-top:1px solid #e1e6ec;padding-top:15px}.admin-members-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-members-head h3{margin:0}.admin-members-head small{color:#778497}.admin-members-head input{width:min(320px,55%);padding:10px;border:1px solid #d4dce5;border-radius:8px}.admin-member-list{margin-top:12px;max-height:340px;overflow:auto;border:1px solid #e0e6ed;border-radius:9px}.admin-member-row{display:grid;grid-template-columns:minmax(190px,1.7fr) 80px 80px 85px 70px 105px;align-items:center;gap:8px;padding:11px 12px;border-bottom:1px solid #e8edf2;font-size:10px}.admin-member-row:last-child{border-bottom:0}.admin-member-row strong,.admin-member-row small{display:block;overflow:hidden;text-overflow:ellipsis}.admin-member-row small{color:#7d8998;margin-top:3px}.admin-member-row b{color:#2368e8}.admin-member-empty{padding:30px;text-align:center;color:#7c8998;font-size:11px}@media(max-width:600px){.admin-dialog{padding:16px}.admin-members-head{align-items:stretch;flex-direction:column}.admin-members-head input{width:100%}.admin-member-list{border:0;max-height:44vh}.admin-member-row{grid-template-columns:1fr 1fr;border:1px solid #e0e6ed;border-radius:9px;margin-bottom:8px;padding:11px}.admin-member-row>span:first-child,.admin-member-row>span:last-child{grid-column:1/-1}}
.special-results{max-height:210px;overflow:auto;margin:8px 0;border:1px solid #dce3eb;border-radius:8px}.special-result{display:block;width:100%;padding:10px 12px;border-bottom:1px solid #e7ecf1;background:#fff;text-align:left}.special-result:last-child{border-bottom:0}.special-result strong,.special-result small{display:block}.special-result small{color:#7b8797;margin-top:3px}.member-actions{display:flex;gap:4px;flex-wrap:wrap}.member-actions button{padding:6px 7px;border:1px solid #d6dee7;border-radius:6px;background:#fff;font-size:9px}.member-actions .member-delete{color:#c93443;border-color:#efc4c9}
@media(max-width:900px) and (pointer:coarse){aside{display:block;position:fixed;z-index:12;left:0;right:0;top:auto;bottom:calc(76px + env(safe-area-inset-bottom));width:auto;height:min(72dvh,620px);border-radius:15px 15px 0 0;box-shadow:0 -10px 35px #1d2c4025;transform:translateY(0)}.inspector-closed aside{transform:translateY(calc(120% + env(safe-area-inset-bottom)));box-shadow:none}}
.conflict-dialog{width:min(460px,92vw);padding:25px;text-align:left}.conflict-dialog p{color:#59677a;font-size:12px;line-height:1.8}.conflict-dialog .wide{margin-top:8px}.conflict-dialog>small{display:block;margin-top:12px;color:#a14a53;font-size:9px}
.file-import-button{display:block;box-sizing:border-box;text-align:center;cursor:pointer}
.drive-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.drive-actions .wide{font-size:10px;padding-inline:6px}.drive-privacy{color:#66758a;font-size:11px}.drive-list{max-height:min(55vh,440px);overflow:auto;margin:12px 0;border:1px solid #dfe5ec;border-radius:9px}.drive-file{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px;border-bottom:1px solid #e7ecf1}.drive-file:last-child{border-bottom:0}.drive-file strong,.drive-file small{display:block}.drive-file small{margin-top:4px;color:#7c8999;font-size:9px}.drive-file button{min-width:72px}.drive-dialog>.wide{margin-top:8px}@media(max-width:600px){.drive-actions{grid-template-columns:1fr}.drive-dialog{padding:18px}.drive-file{align-items:stretch;grid-template-columns:1fr}.drive-file button{width:100%}}
.admin-member-row.trashed{background:#f7f7f8;color:#7d8794;opacity:.82}.admin-audit{grid-column:1/-1;border-top:1px solid #e1e6ec;padding-top:15px}.admin-audit>div:first-child{display:flex;align-items:center;justify-content:space-between}.admin-audit h3{margin:0}.admin-audit>div>small{color:#7b8797}.admin-audit-list{margin-top:10px;max-height:240px;overflow:auto;border:1px solid #e0e6ed;border-radius:8px}.admin-audit-list>div{display:grid;grid-template-columns:110px 1fr 210px;gap:8px;padding:9px 11px;border-bottom:1px solid #e8edf2;font-size:10px}.admin-audit-list>div:last-child{border-bottom:0}.admin-audit-list small{color:#7b8797;text-align:right}@media(max-width:600px){.admin-audit-list>div{grid-template-columns:1fr 1fr}.admin-audit-list small{grid-column:1/-1;text-align:left}}

/* v65: mobile/tablet dialog, keyboard and accessibility hardening */
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,label.file-import-button:focus-within{outline:3px solid #78a7ff;outline-offset:2px}
dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);overflow:auto;overscroll-behavior:contain}
.close{display:grid;place-items:center;width:44px;height:44px;right:6px;top:6px;border-radius:9px;z-index:5}
.close:hover,.close:focus-visible{background:#eef2f6}
.dialog-head{padding-right:36px}
.guide{width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 170px);overflow:auto;padding:24px}
.auth{overflow:auto;min-height:100dvh}
.authcard{width:100%;max-width:420px;margin:auto}
@media(max-height:650px){.auth{align-items:start}.authcard{margin-block:8px}.guide{top:42%;padding:18px}.guide p{margin-bottom:0}}
@media(max-width:600px){dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);margin:auto;padding:18px}.dialog-head{padding-right:38px}.dialog-head h2{font-size:18px}.auth{padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));align-items:start}.authcard{padding:22px 18px;margin-block:8px}.close{position:sticky;float:right;margin:-12px -12px 0 0}.project-list{grid-template-columns:1fr}.toast{top:max(64px,calc(env(safe-area-inset-top) + 54px));max-width:calc(100vw - 24px);text-align:center}}
.guide-close,.inspector-close{width:44px;height:44px}
@media(pointer:coarse){button,.file-import-button{min-height:44px}}
@media(max-width:600px){dialog>.dialog-head{position:sticky;top:-18px;background:#fff;z-index:4;padding-top:8px}}
.circle-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px}.circle-stats span{padding:9px;border:1px solid #dfe6ee;border-radius:7px;background:#fff;color:#6b7889;font-size:9px}.circle-stats b{display:block;margin-top:3px;color:#26384d;font-size:12px}
.account-billing-status{margin:8px 0 14px;color:#738095;font-size:10px}.plan-subscription-status{padding:10px 12px;border:1px solid #dce4ee;border-radius:8px;background:#f5f8fc;color:#526176;font-size:11px}.plan-subscription-status.active{border-color:#9dd8c2;background:#effaf5;color:#167552}

/* v105: remembered login */
.remember-login{display:flex!important;align-items:center;gap:9px;margin:2px 0 12px!important;padding:9px 10px;border:1px solid #dce4ec;border-radius:8px;background:#f8fafc}.remember-login.hidden{display:none!important}.remember-login input{width:18px;height:18px;margin:0;padding:0;box-shadow:none}.remember-login span,.remember-login b,.remember-login small{display:block}.remember-login b{font-size:10px}.remember-login small{margin-top:3px;color:#748297;font-size:8px}

/* local recovery status */
.recovery-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:11px 12px;border:1px solid #b9d9e8;border-radius:9px;background:#eef8fc;color:#173f55}.recovery-status b{font-size:11px}.recovery-status span{font-size:9px;text-align:right}.recovery-status.empty{border-color:#ead7a6;background:#fff9e9;color:#725615}.recovery-storage-help{display:block;margin:-5px 2px 10px;color:#748297;font-size:9px;line-height:1.6}.recovery-storage-help.protected{color:#168765;font-weight:700}

/* v104: local recovery snapshots */
.recovery-dialog{width:min(560px,94vw);padding:24px;text-align:left}.recovery-help{color:#59677a;font-size:11px;line-height:1.8}.recovery-list{display:grid;gap:8px;margin-top:14px}.recovery-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #dce4ec;border-radius:9px;background:#f8fafc}.recovery-list b,.recovery-list span{display:block}.recovery-list b{font-size:11px}.recovery-list span{margin-top:5px;color:#748297;font-size:9px}.recovery-actions{display:flex;gap:6px}.recovery-actions button{min-width:62px;padding:8px}.recovery-empty{padding:24px;text-align:center;color:#748297;font-size:11px}@media(max-width:600px){.recovery-dialog{padding:17px}.recovery-list article{align-items:stretch;flex-direction:column}.recovery-actions button{flex:1}}

/* v104: local recovery snapshots */
.recovery-dialog{width:min(560px,94vw);padding:24px;text-align:left}.recovery-help{color:#59677a;font-size:11px;line-height:1.8}.recovery-list{display:grid;gap:8px;margin-top:14px}.recovery-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #dce4ec;border-radius:9px;background:#f8fafc}.recovery-list b,.recovery-list span{display:block}.recovery-list b{font-size:11px}.recovery-list span{margin-top:5px;color:#748297;font-size:9px}.recovery-actions{display:flex;gap:6px}.recovery-actions button{min-width:62px;padding:8px}.recovery-empty{padding:24px;text-align:center;color:#748297;font-size:11px}@media(max-width:600px){.recovery-dialog{padding:17px}.recovery-list article{align-items:stretch;flex-direction:column}.recovery-actions button{flex:1}}

/* v74: scale print preview */
.print-preview-dialog{width:min(720px,94vw);padding:24px;text-align:left}.print-preview-canvas{display:grid;place-items:center;min-height:220px;max-height:48vh;margin:4px 0 14px;padding:12px;border:1px solid #dce4ec;border-radius:10px;background:#eef2f6;overflow:auto}.print-preview-canvas img{display:block;max-width:100%;max-height:44vh;background:#fff;box-shadow:0 4px 18px #17253d22}.print-preview-details{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 12px}.print-preview-details div{padding:10px;border:1px solid #e0e6ed;border-radius:8px;background:#f8fafc}.print-preview-details dt{font-size:9px;color:#718095}.print-preview-details dd{margin:4px 0 0;font-size:12px;font-weight:700}.print-preview-details .print-fit{color:#168765}.print-preview-note{font-size:10px;line-height:1.7;color:#66758a}@media(max-width:600px){.print-preview-dialog{padding:16px}.print-preview-canvas{min-height:150px;max-height:38vh}.print-preview-canvas img{max-height:34vh}.print-preview-details{grid-template-columns:1fr 1fr}}
.print-preview-canvas{align-items:start;grid-template-columns:1fr;gap:14px}.print-preview-canvas figure{width:100%;margin:0}.print-preview-canvas figcaption{margin:0 0 6px;color:#526176;font-size:10px;font-weight:800;text-align:center}.print-preview-canvas figure img{width:100%;height:auto;max-height:none;object-fit:contain}.print-preview-canvas figure.hidden{display:none}

/* v75: calibrated image underlay */
.underlay-settings{margin-top:16px;padding-top:12px;border-top:1px solid #edf0f3}.underlay-settings>h3{margin-bottom:9px}.underlay-settings label small{display:block;margin-top:5px;color:#7a8798;font-size:9px;line-height:1.5}.underlay-settings input[type=range]{padding:6px 0;border:0;box-shadow:none}

/* v77: renovation view presets */
.renovation-views{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:6px}.renovation-views button{min-height:36px;padding:7px 3px;border:1px solid #dce3eb;border-radius:7px;background:#f8fafc;color:#59677a;font-size:10px;font-weight:700}.renovation-views button.active{border-color:#2368e8;background:#eaf1ff;color:#1458c8;box-shadow:inset 0 0 0 1px #2368e8}.renovation-view-help{display:block;margin:0 0 14px;color:#748297;font-size:9px}

/* v78: precise wall joins */
.wall-join-row{margin:-2px 0 12px}.wall-join-row small{display:block;margin-top:5px;color:#748297;font-size:9px;line-height:1.5}

/* v79: rectangular room detection */
.room-detection{margin:-5px 0 16px}.room-detection small{display:block;margin-top:5px;color:#748297;font-size:9px;line-height:1.5}

/* v80: trade-specific estimate */
.estimate-rates{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.estimate-rates label{margin:6px 0}.estimate-breakdown{display:grid;gap:4px;margin:8px 0}.estimate-breakdown span{display:flex;justify-content:space-between;gap:8px;padding:5px 7px;border-radius:5px;background:#f8fafc;font-size:9px}.estimate-breakdown i{color:#657388;font-style:normal}.estimate-breakdown b{white-space:nowrap}.estimate-breakdown>small{color:#7b8797;font-size:9px}
.price-output-option{margin:10px 0 4px!important;background:#f5f8fc}

/* v81: residential fixture library */
.fixture-library{margin:-8px 0 16px}.fixture-library small,.fixture-lead{display:block;margin-top:5px;color:#748297;font-size:9px;line-height:1.5}.fixture-dialog{width:min(620px,94vw);padding:24px;text-align:left}.fixture-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.fixture-grid button{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #dce4ec;border-radius:10px;background:#f8fafc;text-align:left}.fixture-grid button:hover{border-color:#9ebcf5;background:#f1f6ff}.fixture-grid b{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#eaf1ff;color:#2368e8;font-size:22px}.fixture-grid span,.fixture-grid small{display:block}.fixture-grid span{font-size:11px;font-weight:700}.fixture-grid small{margin-top:4px;color:#778497;font-size:9px}.fixture-breakdown{margin:6px 0}.fixture-breakdown span{display:flex;justify-content:space-between;padding:4px 0;color:#59677a;font-size:9px}.fixture-breakdown i{font-style:normal}@media(max-width:600px){.fixture-grid{grid-template-columns:1fr}.fixture-dialog{padding:16px}}

/* v107: output preflight */
.print-preview-warnings{display:grid;gap:5px;margin:0 0 10px;padding:9px 11px;border:1px solid #f0d5a3;border-radius:8px;background:#fff9ed;color:#8a5b13;font-size:9px}.print-preview-warnings b,.print-preview-warnings span{display:block}.print-preview-warnings:has(.ready){border-color:#a8dbc7;background:#effaf5;color:#167552}.print-preview-warnings .ready{font-weight:700}
.print-preview-fix{border-color:#e4a75f!important;background:#fff4e5!important;color:#874711!important;font-weight:800}

/* v118: install guidance */
.install-dialog{width:min(480px,94vw);padding:24px;text-align:left}.install-dialog b{display:block;color:#26384d;font-size:12px}.install-dialog p,.install-dialog li{color:#66758a;font-size:10px;line-height:1.8}.install-dialog ol{padding-left:20px}.install-dialog #installPrompt{margin-top:12px}

/* v114: device compatibility check */
.environment-dialog{width:min(520px,94vw);padding:24px;text-align:left}.environment-dialog>p{color:#66758a;font-size:10px}.environment-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0}.environment-list>div{padding:10px;border:1px solid #dce4ec;border-radius:8px;background:#f8fafc}.environment-list b,.environment-list span{display:block}.environment-list b{font-size:10px}.environment-list span{margin-top:4px;color:#748297;font-size:8px}.environment-list .ok b{color:#167552}.environment-list .error b{color:#b52e42}.environment-list>strong{grid-column:1/-1;padding:9px;text-align:center;font-size:9px}@media(max-width:520px){.environment-list{grid-template-columns:1fr}}

/* v112: release information */
.version-info-dialog{width:min(540px,94vw);padding:24px;text-align:left}.version-build{padding:10px 12px;border-radius:8px;background:#eef4ff;color:#285db9;font-size:10px}.version-updates{display:grid;gap:7px;margin:14px 0;padding:0;list-style:none}.version-updates li{padding:10px;border:1px solid #dce4ec;border-radius:8px;background:#f8fafc}.version-updates b,.version-updates span{display:block}.version-updates b{font-size:10px}.version-updates span{margin-top:4px;color:#66758a;font-size:9px}.version-info-dialog>small{color:#748297;font-size:9px}

/* v108: admin system health */
.admin-health{grid-column:1/-1;padding:14px;border:1px solid #dce4ec;border-radius:10px;background:#f8fafc}.admin-health>div:first-child{display:flex;justify-content:space-between;align-items:center}.admin-health h3{margin:0}.admin-health small{color:#748297;font-size:8px}.admin-health-list{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.admin-health-list>div{padding:9px;border:1px solid #dce4ec;border-radius:7px;background:#fff}.admin-health-list b,.admin-health-list span{display:block}.admin-health-list b{font-size:10px}.admin-health-list span{margin-top:4px;color:#66758a;font-size:8px}.admin-health-list .ok b{color:#167552}.admin-health-list .warn b{color:#9a6411}.admin-health-list .error b{color:#b52e42}.admin-health-list>small{grid-column:1/-1;text-align:right}@media(max-width:650px){.admin-health-list{grid-template-columns:1fr 1fr}}

/* v83: read-only project sharing */
.share-button{margin-bottom:7px}.share-dialog{width:min(520px,94vw);padding:24px;text-align:left}.share-dialog>p{color:#59677a;font-size:11px;line-height:1.8}.share-dialog>small{display:block;margin-top:10px;color:#8a6070;font-size:9px}.share-dialog input{font-size:10px}.share-status{margin:0 0 12px!important;padding:9px 11px;border:1px solid #dce3eb;border-radius:7px;background:#f7f9fb;color:#637084!important}.share-status.active{border-color:#9fd5b0;background:#eefaf2;color:#237a40!important}.share-status.expired{border-color:#e7c2c7;background:#fff4f5;color:#a23d49!important}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.share-actions button{min-height:42px}@media(max-width:600px){.share-dialog{padding:17px}.share-actions{grid-template-columns:1fr}}
.share-comments{display:grid;gap:6px;max-height:150px;overflow:auto;margin-bottom:10px}.share-comments article{padding:8px;border:1px solid #e0e6ed;border-radius:7px;background:#fafbfd}.share-comments b,.share-comments span,.share-comments small{display:block}.share-comments span{margin:4px 0;white-space:pre-wrap;font-size:10px}.share-comments small{color:#7b8797;font-size:8px}@media(max-width:650px){.project-dialog .dialog-actions{flex-wrap:wrap}.project-dialog .search{flex-basis:100%}.project-sort,.project-folder-filter{flex:1}.project-sort select,.project-folder-filter select{flex:1;min-width:0}}

/* v1.0.1: compact mobile product branding */
.layer-groups{display:grid;gap:5px;margin-bottom:13px}.layer-group-row{display:grid;grid-template-columns:minmax(72px,1fr) 84px 76px;align-items:center;gap:4px;padding:5px 6px;border:1px solid #dfe6ee;border-radius:7px;background:#f8fafc}.layer-group-row strong{font-size:10px;color:#344256}.layer-group-row button{min-height:32px;padding:4px;border:1px solid #d6dee7;border-radius:6px;background:#fff;color:#526176;font-size:9px}.layer-group-row button.partial{color:#9a6700;background:#fff9db;border-color:#f2d675}.layer-group-row button.active[data-layer-group-lock]{color:#b73a47;background:#fff1f2;border-color:#efc4c9}.layer-group-row button:not(.active)[data-layer-group-visible]{color:#778496;background:#eef2f6}
.layer-presets{display:grid;gap:6px;margin:-5px 0 14px;padding:8px;border:1px solid #dfe6ee;border-radius:8px}.layer-presets label{margin:0}.layer-presets select,.layer-preset-name input{width:100%;margin-top:4px;padding:8px;border:1px solid #d5dde6;border-radius:6px;background:#fff}.layer-preset-name{display:grid;grid-template-columns:1fr 58px;gap:5px}.layer-preset-name button{padding:7px}.layer-presets button:disabled{opacity:.45}
.layer-isolation{display:grid;gap:6px;margin:-7px 0 14px;padding:8px;border:1px solid #dfe6ee;border-radius:8px;background:#f8fafc}.layer-isolation label{margin:0}.layer-isolation select{width:100%;margin-top:4px;padding:8px;border:1px solid #d5dde6;border-radius:6px;background:#fff}.layer-isolation small{color:#748297;font-size:9px}.layer-isolation button:disabled{opacity:.45}
.custom-layer-quick-list{display:contents}.layer-manager-dialog{width:min(680px,calc(100vw - 24px));max-height:min(82dvh,760px);padding:22px;border:0;border-radius:16px;box-shadow:0 24px 70px #17253d4d}.layer-manager-dialog::backdrop{background:#17253d70}.layer-manager-dialog section{margin:18px 0}.layer-manager-help{color:#607086;line-height:1.7}.layer-manager-search{position:sticky;top:-22px;z-index:2;display:block;margin:10px -22px 0;padding:10px 22px;background:#fff}.layer-manager-search input{width:100%;box-sizing:border-box;margin-top:5px;padding:10px 12px;border:1px solid #c8d4e1;border-radius:9px;background:#f8fafc;font-size:14px}.layer-template-sets{padding:12px;border:1px solid #dce4ed;border-radius:10px;background:#f8fafc}.layer-template-sets h3,.layer-template-sets p{margin-top:0}.layer-template-sets p{color:#607086}.layer-template-sets>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.layer-template-sets button{min-height:40px}.saved-layer-sets{display:grid;gap:7px;padding:12px;border:1px solid #dce4ed;border-radius:10px;background:#f8fafc}.saved-layer-sets h3{margin:0}.saved-layer-set-name{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:6px}.saved-layer-sets input,.saved-layer-sets select{width:100%;box-sizing:border-box;padding:9px;border:1px solid #cfd9e4;border-radius:7px;background:#fff}.saved-layer-set-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.saved-layer-sets button:disabled{opacity:.45}.layer-manager-title{display:flex;align-items:center;justify-content:space-between}.layer-manager-title h3{margin:0}.layer-manager-list{display:grid;gap:7px;margin-top:8px}.layer-manager-row{display:grid;grid-template-columns:14px minmax(0,1fr) 44px 58px minmax(250px,auto);align-items:center;gap:8px;padding:8px;border:1px solid #dce4ed;border-radius:9px;background:#f8fafc}.layer-manager-row>i{width:12px;height:12px;border-radius:50%}.layer-manager-row input[data-custom-layer-name]{min-width:0;padding:8px;border:1px solid #cfd9e4;border-radius:7px;background:#fff}.layer-manager-row input[type=color]{width:40px;height:34px;padding:2px;border:1px solid #cfd9e4;border-radius:7px;background:#fff}.layer-order-actions{display:grid;grid-template-columns:1fr 1fr;gap:3px}.layer-order-actions button{min-width:0;padding:5px 3px;border:1px solid #cfd9e4;border-radius:6px;background:#fff;color:#34445a}.layer-item-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.layer-item-actions button{min-width:0;padding-inline:5px}.layer-manager-row.base{grid-template-columns:14px 1fr auto minmax(220px,auto)}.base-layer-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.base-layer-actions button{min-width:0;padding-inline:5px}.layer-manager-row.active-layer{border-color:#4f83e8;box-shadow:0 0 0 2px #4f83e820}.layer-manager-row.base small,.empty-layer-list{color:#748297}.layer-merge{padding:12px;border:1px solid #dce4ed;border-radius:10px;background:#f8fafc}.layer-merge h3,.layer-merge p{margin-top:0}.layer-merge p{color:#607086}.layer-merge select{width:100%;margin-top:5px;padding:9px;border:1px solid #cfd9e4;border-radius:7px;background:#fff}.layer-merge button:disabled{opacity:.45}.add-custom-layer{display:grid;grid-template-columns:minmax(0,1fr) 70px 80px;align-items:end;gap:8px;margin:12px 0;padding:12px;border:1px solid #9db9e8;border-radius:10px;background:#f3f7ff}.add-custom-layer-title{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.add-custom-layer-title small{color:#607086}.add-custom-layer label{margin:0}.add-custom-layer input{width:100%;box-sizing:border-box;margin-top:5px;padding:9px;border:1px solid #cfd9e4;border-radius:7px}.add-custom-layer input[type=color]{padding:2px;height:39px}.add-custom-layer button{height:39px}@media(max-width:520px){.layer-manager-dialog{padding:16px}.layer-template-sets>div{grid-template-columns:1fr}.saved-layer-set-name{grid-template-columns:1fr}.saved-layer-sets input,.saved-layer-sets select{font-size:16px}.layer-manager-search{top:-16px;margin-inline:-16px;padding-inline:16px}.layer-manager-search input{font-size:16px}.layer-manager-row{grid-template-columns:12px minmax(0,1fr) 42px}.layer-manager-row button{grid-column:2/-1}.layer-manager-row .layer-order-actions{grid-column:2/-1}.layer-manager-row .layer-order-actions button{grid-column:auto}.layer-manager-row .layer-item-actions{grid-column:2/-1;display:grid;grid-template-columns:repeat(2,1fr)}.layer-manager-row .layer-item-actions button{grid-column:auto}.layer-manager-row.base{grid-template-columns:12px minmax(0,1fr) auto}.layer-manager-row.base .base-layer-actions{grid-column:2/-1}.layer-manager-row.base .base-layer-actions button{grid-column:auto}.add-custom-layer{grid-template-columns:1fr 62px;margin:10px 0;padding:12px}.add-custom-layer button{grid-column:1/-1}}
.mirror-tools{margin:8px 0;padding:8px;border:1px solid #dfe6ee;border-radius:8px;background:#f8fafc}.mirror-tools select{width:100%;margin-top:4px;padding:7px;border:1px solid #d5dde6;border-radius:6px;background:#fff}.mirror-tools button{margin-top:6px}
.ink-controls{pointer-events:auto;display:flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid #d6dee7;border-radius:7px;background:#fff;box-shadow:0 2px 7px #20304a0d;font-size:9px}.ink-controls label{display:flex;align-items:center;gap:4px;margin:0;white-space:nowrap}.ink-controls input[type=color]{width:28px;height:28px;padding:1px;border:0;background:transparent}.ink-controls input[type=range]{width:70px}.ink-controls select{padding:5px;border:1px solid #d5dde6;border-radius:5px;background:#fff}.ink-controls output{min-width:18px;color:#526176;font-weight:700}.ink-controls .ink-finger input{width:auto;margin:0}@media(max-width:650px){.ink-controls{position:absolute;left:0;top:46px}.ink-controls input[type=range]{width:90px}}
.placed-image-settings{margin:0 0 16px;padding:10px;border:1px solid #dfe6ee;border-radius:8px;background:#f8fafc}.placed-image-settings h3{margin-top:0}.placed-image-settings small{display:block;margin-top:6px;color:#748297;font-size:9px}
.text-template-settings{margin:0 0 16px;padding:10px;border:1px solid #d8d0ee;border-radius:8px;background:#faf8ff}.text-template-settings h3{margin-top:0}.text-template-settings small{display:block;margin-top:6px;color:#74688b;font-size:9px}.text-transform-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin:7px 0}.text-template-dialog{width:min(720px,calc(100vw - 24px));max-height:min(86dvh,780px);padding:22px;border:0;border-radius:16px;box-shadow:0 24px 70px #17253d4d}.text-template-dialog::backdrop{background:#17253d70}.text-template-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0}.text-template-tabs button,.text-template-choices button{border:1px solid #d3dce7;border-radius:8px;background:#fff;color:#34445a}.text-template-tabs button{min-height:42px;font-weight:800}.text-template-tabs button.active,.text-template-choices button.active{border-color:#2368e8;background:#eaf1ff;color:#1458c8}.text-template-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0 18px}.text-template-choices button{min-height:44px;padding:8px;font-size:11px}.text-template-dialog textarea,.text-template-dialog input{box-sizing:border-box;width:100%;margin-top:5px;padding:9px;border:1px solid #cfd9e4;border-radius:7px;background:#fff}@media(max-width:600px){.text-template-dialog{padding:16px}.text-template-tabs{grid-template-columns:1fr 1fr}.text-template-choices{grid-template-columns:1fr 1fr}.text-template-choices button{min-height:48px}}
.personal-text-templates{margin:14px 0;padding:10px;border:1px solid #dce4ed;border-radius:10px;background:#f8fafc}.text-library-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.text-library-heading h3{margin:0;font-size:13px}.text-library-heading small{color:#748297}.personal-text-template-list,.recent-text-template-list{display:flex;flex-wrap:wrap;gap:6px}.personal-text-template-list>span{display:flex;max-width:100%}.personal-text-template-list button,.recent-text-template-list button{min-height:38px;padding:7px 10px;border:1px solid #cfd9e4;background:#fff;color:#34445a}.personal-text-template-list span button:first-child{max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:7px 0 0 7px}.personal-text-template-list span button:last-child{padding-inline:9px;border-left:0;border-radius:0 7px 7px 0;color:#b73a47}.recent-text-template-list button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:7px}.personal-text-templates>small,.personal-text-template-list>small,.recent-text-template-list>small{color:#748297}
.workspace-fields{margin:16px 0;padding:12px;border:1px solid #cdddf2;border-radius:10px;background:#f6f9ff}.workspace-fields h3{margin-top:0;color:#285caa}.workspace-note{margin:-3px 0 10px;color:#66758a;font-size:9px;line-height:1.6}
.property-photo-preview{display:flex;align-items:center;gap:8px;margin-top:6px}.property-photo-preview img{display:none;width:112px;height:72px;border-radius:8px;border:1px solid #ccd8e7;object-fit:cover;background:#fff}.property-photo-preview img[src]:not([src=""]){display:block}.property-photo-preview button{display:none;margin-left:auto}.property-photo-preview:has(img[src]:not([src=""])) button{display:block}
@media(max-width:900px){.workspace-switcher{position:sticky;left:0;flex:0 0 98px;align-self:stretch;margin:0 5px 0 0}.workspace-switcher>button{display:grid;grid-template-columns:27px 1fr 12px;align-items:center;gap:5px;min-height:60px;padding:4px 6px}.workspace-switcher>button>b{width:27px;height:27px;margin:0;font-size:15px}.workspace-switcher>button>span small{display:none}.workspace-switcher>button>span strong{font-size:9px}.workspace-switcher>button>i{display:block;color:#6f8197;font-style:normal}.workspace-drawer{left:8px;right:8px;top:auto;bottom:calc(84px + env(safe-area-inset-bottom));width:auto;max-height:min(72dvh,640px);padding:18px;border:1px solid #d8e1eb;border-radius:18px;box-shadow:0 -15px 45px #17253d38;transform:translateY(calc(100% + 110px))}.workspace-drawer.drawer-open{transform:translateY(0)}.workspace-drawer header h2{font-size:19px}.workspace-choice-list{grid-template-columns:1fr 1fr}.workspace-choice-list>button{grid-template-columns:40px 1fr;min-height:82px;padding:10px}.workspace-choice-list>button>b{width:40px;height:40px}.workspace-choice-list>button>i{display:none!important}}@media(max-width:520px){.workspace-choice-list{grid-template-columns:1fr}.workspace-choice-list>button{min-height:68px}}
@media(max-width:900px) and (pointer:coarse), (max-width:600px){header .brand{flex:0 0 34px;gap:0}header .brand-icon{width:34px;height:34px;border-radius:9px}header .brand-name{display:none}header .project input{width:min(38vw,150px)}}
@media(max-width:360px){header .project input{width:min(34vw,105px)}.actions #save{padding-inline:6px}}

.floating-menu-handle{display:none}
@media(max-width:900px) and (pointer:coarse){.floating{z-index:12;top:0!important;left:max(8px,env(safe-area-inset-left))!important;right:max(8px,env(safe-area-inset-right))!important;display:flex;max-height:min(48dvh,420px);padding:12px;gap:8px;flex-wrap:wrap!important;overflow:auto!important;overscroll-behavior:contain;border:1px solid #d8e0e9;border-top:0;border-radius:0 0 14px 14px;background:#fffffff5;box-shadow:0 12px 32px #17253d2b;transform:translateY(-100%);transition:transform .22s ease;pointer-events:auto}.floating.menu-open{transform:translateY(0)}.floating>*{flex:0 0 auto}.floating-menu-handle{position:absolute;left:50%;bottom:-45px;transform:translateX(-50%);display:grid!important;grid-template-columns:auto auto;grid-template-rows:20px 13px;align-items:center;column-gap:7px;width:154px;height:46px;padding:4px 14px 6px;border:1px solid #cbd6e2;border-top:0;border-radius:0 0 14px 14px;background:#fff;color:#27415f;box-shadow:0 5px 15px #17253d24;touch-action:none}.floating-menu-handle span{grid-row:1/3;display:block!important;margin:0;padding:0;background:none;color:#2368e8;font-size:24px;line-height:1}.floating-menu-handle b{font-size:11px;line-height:1.2}.floating-menu-handle small{font-size:8px;color:#738197;line-height:1}.floating.menu-open .floating-menu-handle{background:#edf3ff}.floating .ink-controls{max-width:100%;flex-wrap:wrap}.floating .layer-picker{order:initial}.floating #help{display:none}.zoom{bottom:calc(136px + env(safe-area-inset-bottom))}}

@media(max-width:900px) and (pointer:coarse){.workspace>.floating-menu-handle{position:absolute;z-index:14;top:7px;bottom:auto;left:50%;transform:translateX(-50%);display:flex!important;align-items:center;justify-content:center;gap:7px;width:174px;height:44px;padding:5px 12px;border:1px solid #bfcddd;border-radius:22px;background:#fff;color:#24415f;box-shadow:0 5px 18px #17253d35;touch-action:none}.workspace>.floating-menu-handle span{display:block!important;margin:0;padding:0;background:none;color:#2368e8;font-size:20px}.workspace>.floating-menu-handle b{font-size:11px}.workspace>.floating-menu-handle small{display:none}.workspace>.floating{display:none!important;top:58px!important;transform:none!important;max-height:min(46dvh,400px);overflow:auto!important}.workspace>.floating.menu-open{display:flex!important}.workspace>.floating.menu-open+.floating-menu-handle{background:#2368e8;color:#fff}.workspace>.floating.menu-open+.floating-menu-handle span{color:#fff}}
@media print{.print-sheet{max-width:270mm;max-height:180mm}.print-sheet[data-paper="A3"]{max-width:390mm;max-height:265mm}.print-frame,.title-block{overflow:hidden!important}}

@media(max-width:900px) and (pointer:coarse){aside #settings h3{margin:18px 0 8px;font-size:13px}.renovation-views{grid-template-columns:1fr 1fr;gap:8px}.renovation-views button{min-height:48px;border:2px solid #ccd7e3;border-radius:10px;background:#fff;font-size:13px}.renovation-views button.active{border-color:#2368e8;background:#eaf1ff;color:#1458c8}.layer-group-row{grid-template-columns:1fr 1fr;gap:7px;padding:9px}.layer-group-row strong{grid-column:1/-1;font-size:12px}.layer-group-row button{min-height:46px;border:2px solid #ccd7e3;border-radius:9px;font-size:11px;font-weight:800}.layer-row{grid-template-columns:1fr 46px;gap:6px}.layer-row label,.layer-row>button{min-height:46px;border-width:2px}.layer-row label{font-size:12px;font-weight:700}}

/* Mobile menu must not depend on the browser's pointer classification. */
@media(max-width:1100px),(any-pointer:coarse){
  main{grid-template-columns:86px minmax(0,1fr)}
  .workspace>.floating-menu-handle{position:absolute;z-index:30;top:8px;bottom:auto;left:50%;transform:translateX(-50%);display:flex!important;align-items:center;justify-content:center;gap:7px;width:174px;height:44px;padding:5px 12px;border:1px solid #bfcddd;border-radius:22px;background:#fff;color:#24415f;box-shadow:0 5px 18px #17253d35;touch-action:manipulation}
  .workspace>.floating-menu-handle span{display:block!important;margin:0;padding:0;background:none;color:#2368e8;font-size:20px}
  .workspace>.floating-menu-handle b{display:block;font-size:11px}
  .workspace>.floating-menu-handle small{display:none}
  .workspace>.floating{display:flex!important;z-index:29;top:58px!important;left:max(8px,env(safe-area-inset-left))!important;right:max(8px,env(safe-area-inset-right))!important;max-height:min(48dvh,420px);padding:12px;gap:8px;flex-wrap:wrap!important;overflow:auto!important;border:1px solid #d8e0e9;border-radius:14px;background:#fffffff5;box-shadow:0 12px 32px #17253d2b;opacity:0;visibility:hidden;transform:translateY(calc(-100% - 70px))!important;transition:transform .24s ease,opacity .18s ease,visibility 0s linear .24s;pointer-events:none}
  .workspace>.floating.menu-open{opacity:1;visibility:visible;transform:translateY(0)!important;transition:transform .24s ease,opacity .18s ease;pointer-events:auto}
  .workspace>.floating.menu-open+.floating-menu-handle{background:#2368e8;color:#fff}
  .workspace>.floating.menu-open+.floating-menu-handle span{color:#fff}
  .floating .inspector-toggle{display:block!important;min-width:100px;border:2px solid #8eb1f0;background:#edf3ff;color:#174fba;font-weight:800}
  aside{display:block;position:fixed;z-index:31;left:auto;right:0;top:62px;bottom:0;width:min(360px,88vw);height:auto;max-height:none;border-radius:15px 0 0 15px;box-shadow:-12px 0 35px #1d2c4025;transform:translateX(0);transition:transform .22s ease}
  .inspector-closed aside{transform:translateX(110%);box-shadow:none}
  .paneltitle{position:sticky;top:0;z-index:3;background:#fff;padding-right:48px}
  .inspector-close{display:grid;place-items:center}
  .layer-list{grid-template-columns:1fr}
  .layer-row{grid-template-columns:1fr 112px;gap:7px}
  .layer-row label,.layer-row>button{min-height:46px;border-width:2px}
  .layer-row>button{font-size:11px;font-weight:800}
}
@media(max-width:900px){
  aside{top:calc(56px + env(safe-area-inset-top));bottom:0}
}
@media(min-width:601px) and (orientation:portrait){
  aside{left:0;right:0;top:calc(56px + env(safe-area-inset-top));bottom:auto;width:auto;height:min(72dvh,620px);border-radius:0 0 15px 15px;box-shadow:0 12px 35px #1d2c4025;transform:translateY(0)}
  .inspector-closed aside{transform:translateY(calc(-100% - 70px));box-shadow:none}
}
@media(min-width:901px) and (max-width:1100px) and (orientation:landscape),(min-width:901px) and (any-pointer:coarse) and (orientation:landscape){
  body.inspector-pinned main{grid-template-columns:86px minmax(0,1fr) min(360px,34vw)}
  body.inspector-pinned aside{top:62px;bottom:auto;width:min(360px,34vw);height:calc(100dvh - 62px);min-height:calc(100dvh - 62px);padding-bottom:calc(19px + env(safe-area-inset-bottom));border-radius:0;box-shadow:none;transform:none}
  body.inspector-pinned main{background:linear-gradient(to right,transparent 0 calc(100% - min(360px,34vw)),#fff calc(100% - min(360px,34vw)))}
  body.inspector-pinned footer{background:linear-gradient(to right,#26354b 0 calc(100% - min(360px,34vw)),#fff calc(100% - min(360px,34vw)))}
}
@media(min-width:601px) and (max-width:900px) and (orientation:landscape){
  body.inspector-pinned main{display:grid;grid-template-columns:minmax(0,1fr) min(340px,42vw)}
  body.inspector-pinned .workspace{grid-column:1}
  body.inspector-pinned aside{top:calc(56px + env(safe-area-inset-top));bottom:auto;width:min(340px,42vw);height:calc(100dvh - 56px - env(safe-area-inset-top));min-height:calc(100dvh - 56px - env(safe-area-inset-top));padding-bottom:calc(19px + env(safe-area-inset-bottom));border-radius:0;box-shadow:none;transform:none}
  body.inspector-pinned nav{right:min(340px,42vw)}
  body.inspector-pinned main{background:linear-gradient(to right,transparent 0 calc(100% - min(340px,42vw)),#fff calc(100% - min(340px,42vw)))}
}
@media(max-width:600px){aside{bottom:calc(76px + env(safe-area-inset-bottom))}}
.paneltitle{background:transparent!important;backdrop-filter:none;-webkit-backdrop-filter:none}
.paneltitle .caps{display:block}.paneltitle h2{margin:2px 0 10px}.inspector-close{background:#e8edf2!important}

/* Unified phone and tablet operation panel. */
@media(max-width:1100px),(any-pointer:coarse){
  .mobile-editbar{display:none!important}
  .workspace>.floating{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
  .workspace>.floating.menu-open{display:grid!important}
  .workspace>.floating>.chip,.workspace>.floating>button{width:100%;min-width:0;min-height:48px;padding:8px 6px;border:1px solid #cfd9e4;border-radius:9px;font-size:11px;font-weight:800;box-shadow:none}
  .workspace>.floating>.chip.active,.workspace>.floating>button.active{border-color:#2368e8;background:#eaf1ff;color:#1458c8;box-shadow:inset 0 0 0 1px #2368e8}
  .workspace>.floating>.selection-result-picker,.workspace>.floating>.layer-picker{box-sizing:border-box;width:100%;min-width:0;min-height:48px;margin:0;padding:6px 8px;justify-content:space-between;border:1px solid #cfd9e4;border-radius:9px;background:#fff;font-size:10px;font-weight:700}
  .workspace>.floating>.selection-result-picker select,.workspace>.floating>.layer-picker select{min-width:0;max-width:58%;padding:5px 2px;font-size:10px}
  .workspace>.floating>.ink-controls{position:static;grid-column:1/-1;box-sizing:border-box;width:100%;max-width:none;min-height:48px;justify-content:center;flex-wrap:wrap}
  .workspace>.floating>#help{display:none}
}
@media(max-width:600px){
  .workspace>.floating{grid-template-columns:repeat(2,minmax(0,1fr));max-height:min(56dvh,460px)}
  .workspace>.floating>.chip,.workspace>.floating>button{font-size:10px}
  .mobile-editbar{left:auto;right:max(8px,env(safe-area-inset-right));top:64px;bottom:auto;display:flex!important;flex-direction:column;gap:6px;transform:none}
  .mobile-editbar #mobilePaste{display:none}
  .mobile-editbar button{box-sizing:border-box;width:58px;min-width:58px;height:48px;min-height:48px;padding:4px 7px;border-radius:12px;background:#fffffff2;box-shadow:0 5px 18px #17253d30;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  .mobile-editbar button:disabled{opacity:.42;box-shadow:none}
  .mobile-editbar button:not(:disabled):active{transform:translateY(1px);background:#eaf1ff}
}
.recent-professional-tools{margin:0 0 13px;padding:10px;border:1px solid #d8e5ef;border-radius:11px;background:#f5f9fc}.recent-professional-tools.search-active-hidden{display:none}.recent-professional-tools>div:first-child{display:flex;align-items:center;justify-content:space-between}.recent-professional-tools h3{margin:0!important}.recent-professional-tools>div:first-child button{padding:4px;border:0;background:none;color:#74869a;font-size:7px}.recent-professional-tools>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.recent-professional-tools>div:last-child button{min-height:38px;padding:7px;border:1px solid #cfdde8;border-radius:8px;background:#fff;color:#344e68;font-size:8px;font-weight:800;text-align:left}.recent-professional-tools>div:last-child span{margin-right:5px;color:#2b79c7}

/* Compact, discoverable settings and dialog controls. */
.settings-group{margin:0 0 9px;border:1px solid #dce4ed;border-radius:10px;background:#fff;overflow:hidden}
.settings-group>summary{display:flex;align-items:center;min-height:46px;padding:0 12px;cursor:pointer;list-style:none;background:#f7f9fc;color:#263d5a}
.settings-group>summary::-webkit-details-marker{display:none}
.settings-group>summary::after{content:'›';margin-left:auto;color:#6f8197;font-size:22px;transform:rotate(90deg);transition:transform .16s ease}
.settings-group[open]>summary::after{transform:rotate(-90deg)}
.settings-group>summary h3{margin:0!important;font-size:12px!important}
.settings-group>summary~*{margin-left:10px;margin-right:10px}
.settings-group>summary+*{margin-top:10px}
.settings-group>*:last-child{margin-bottom:10px}
.layer-manager-group{margin:10px 0;padding:0;border:1px solid #dce4ed;border-radius:10px;background:#f8fafc;overflow:hidden}
.layer-manager-group>summary{display:flex;align-items:center;gap:8px;min-height:46px;padding:0 12px;cursor:pointer;list-style:none;background:#f3f6fa;font-weight:800}
.layer-manager-group>summary::-webkit-details-marker{display:none}
.layer-manager-group>summary::after{content:'＋';margin-left:auto;color:#2368e8;font-size:17px}
.layer-manager-group[open]>summary::after{content:'−'}
.layer-manager-group>summary small{margin-left:auto;color:#748297;font-weight:600}
.layer-manager-group>summary~*{margin-left:12px;margin-right:12px}
.layer-manager-group>*:last-child{margin-bottom:12px}
.layer-manager-group.layer-template-sets,.layer-manager-group.saved-layer-sets,.layer-manager-group.layer-merge{padding:0}
.dialog-sticky-action{position:sticky;z-index:4;bottom:-1px;min-height:48px;margin-top:10px!important;box-shadow:0 -8px 18px #fff,0 5px 12px #17253d26}
.exterior-line-library{margin:12px 0;padding:12px;border:1px solid #cfe0ee;border-radius:12px;background:linear-gradient(145deg,#f6fbff,#eef8f4)}
.exterior-line-library h3{margin:0 0 8px;color:#25455c;font-size:13px}.exterior-line-library>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.exterior-line-library button{min-height:42px;border-color:#a9c5d8;background:#fff;color:#244b64;font-weight:800}.exterior-line-library button:active{background:#dceeff}
.exterior-line-library small,.exterior-line-fields small{display:block;margin-top:7px;color:#66788a}.exterior-line-fields{margin-top:10px;padding:10px;border-radius:10px;background:#f3f8fb}
#exteriorSlopeResult{display:block;margin-top:7px;padding:7px 9px;border-radius:7px;background:#e2f0f8;color:#164d69;font-weight:800}

/* Trade-specific tools stay separate from layer and element settings. */
.professional-tools-launcher{position:absolute;z-index:18;left:14px;top:72px;display:flex;align-items:center;gap:9px;min-width:154px;padding:9px 11px;border:1px solid #c8d7e5;border-radius:12px;background:#fffffff2;color:#213e59;box-shadow:0 6px 20px #17253d24;backdrop-filter:blur(10px)}
.professional-tools-launcher>b{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:linear-gradient(145deg,#e7f1ff,#dceae5);color:#1764ba;font-size:19px}.professional-tools-launcher>span{text-align:left}.professional-tools-launcher small,.professional-tools-launcher strong{display:block}.professional-tools-launcher small{color:#76869a;font-size:7px;letter-spacing:.08em}.professional-tools-launcher strong{margin-top:2px;font-size:10px}.professional-tools-launcher>i{margin-left:auto;color:#6e8196;font-style:normal;font-size:20px;transition:transform .2s}.professional-tools-launcher[aria-expanded=true]>i{transform:rotate(180deg)}
.professional-tools-backdrop{position:fixed;z-index:36;inset:0;border:0;background:#10233a45;backdrop-filter:blur(2px)}
.professional-tools-drawer{position:absolute;z-index:37;left:12px;top:62px;bottom:14px;width:min(350px,calc(100% - 24px));overflow:hidden;border:1px solid #d4dee8;border-radius:18px;background:#fff;box-shadow:0 22px 55px #11263e35;opacity:0;visibility:hidden;transform:translateX(calc(-100% - 30px));transition:transform .24s ease,opacity .18s ease,visibility 0s linear .24s}
.professional-tools-drawer.drawer-open{opacity:1;visibility:visible;transform:translateX(0);transition:transform .24s ease,opacity .18s ease}.professional-tools-drawer>header{display:flex;justify-content:space-between;gap:12px;padding:18px 18px 15px;background:linear-gradient(135deg,#173d64,#176d78);color:#fff}.professional-tools-drawer>header small{font-size:8px;letter-spacing:.14em;opacity:.75}.professional-tools-drawer>header h2{margin:4px 0;font-size:17px}.professional-tools-drawer>header p{margin:0;font-size:9px;opacity:.82}.professional-tools-drawer>header button{flex:none;width:40px;height:40px;border:1px solid #ffffff55;border-radius:10px;background:#ffffff17;color:#fff;font-size:22px}
.professional-tools-body{height:calc(100% - 96px);padding:14px 14px 28px;overflow:auto;overscroll-behavior:contain}.professional-tools-search{position:sticky;z-index:3;top:-14px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;margin:-14px -14px 12px;padding:11px 13px;border-bottom:1px solid #dfe7ee;background:#fffffff2;backdrop-filter:blur(10px)}.professional-tools-search>span{color:#50708f;font-size:20px}.professional-tools-search input{min-width:0;height:40px;padding:8px 10px;border:1px solid #cad7e3;border-radius:10px;background:#f7f9fc;font-size:11px}.professional-tools-search input:focus{border-color:#4e8ed8;outline:3px solid #dcecff}.professional-tools-search small{margin-left:8px;color:#74859a;font-size:7px;white-space:nowrap}.professional-tools-search-empty{margin:22px 4px;padding:22px;border:1px dashed #cdd9e4;border-radius:12px;color:#77869a;text-align:center;font-size:9px}.tool-search-hidden{display:none!important}.professional-tools-body h3{margin:8px 2px 9px;color:#4d6075;font-size:9px;letter-spacing:.08em}.professional-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.professional-tool-grid button{display:flex;align-items:center;gap:9px;min-height:62px;padding:9px;border:1px solid #d9e3ec;border-radius:11px;background:#f8fafc;color:#263d55;text-align:left;transition:transform .12s,border-color .12s,background .12s}.professional-tool-grid button:hover,.professional-tool-grid button:focus-visible{border-color:#76a8df;background:#eef6ff;transform:translateY(-1px)}.professional-tool-grid button>b{display:grid;flex:none;place-items:center;width:36px;height:36px;border-radius:9px;background:#e6f0ff;color:#1765be;font-size:18px}.professional-tool-grid button>span,.professional-tool-grid button small{display:block}.professional-tool-grid button>span{font-size:10px;font-weight:800}.professional-tool-grid button small{margin-top:3px;color:#7b8999;font-size:7px}.professional-tool-grid.line-tools button>b{background:#e4f4ef;color:#16745f}
.professional-text-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.professional-text-grid button,.professional-wide-action{min-height:42px;padding:8px;border:1px solid #d9e3ec;border-radius:9px;background:#fff;color:#3b526a;font-size:9px;font-weight:800}.professional-text-grid button:hover{border-color:#8baee7;background:#f1f6ff}.professional-wide-action{width:100%;margin-top:14px;border-color:#8eb2e8;background:#eaf2ff;color:#1756b6}.professional-empty{padding:42px 18px;text-align:center}.professional-empty>b{display:grid;place-items:center;width:60px;height:60px;margin:auto;border-radius:18px;background:#edf3fa;color:#32638d;font-size:30px}.professional-empty strong{display:block;margin-top:14px}.professional-empty p{color:#718095;font-size:9px;line-height:1.7}
.professional-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.professional-room-grid button{display:flex;align-items:center;gap:9px;min-height:58px;padding:8px;border:1px solid #d9e3ec;border-radius:11px;background:linear-gradient(145deg,#fff,#f3f7fb);color:#2d435a;text-align:left}.professional-room-grid button>b{display:grid;flex:none;place-items:center;width:38px;height:38px;border-radius:10px;background:#fff0dc;color:#b8630a;font-size:14px}.professional-room-grid span,.professional-room-grid small{display:block}.professional-room-grid span{font-size:9px;font-weight:800}.professional-room-grid small{margin-top:3px;color:#7d8998;font-size:7px}.professional-room-grid button:hover{border-color:#e4aa66;background:#fff8ee}
.interior-space-grid button>b{background:#e7f5f0;color:#16705c;font-size:11px}.interior-space-grid button:hover{border-color:#7bc2ad;background:#f0fbf7}
@media(max-width:1100px),(any-pointer:coarse){.professional-tools-launcher{position:absolute;left:7px;top:58px;min-width:0;width:48px;height:118px;padding:8px 5px;flex-direction:column;border-radius:0 13px 13px 0}.professional-tools-launcher>b{width:34px;height:34px}.professional-tools-launcher>span{text-align:center}.professional-tools-launcher small{display:none}.professional-tools-launcher strong{font-size:9px;line-height:1.2;writing-mode:vertical-rl}.professional-tools-launcher>i{display:none}.professional-tools-drawer{position:fixed;left:0;top:calc(56px + env(safe-area-inset-top));bottom:calc(76px + env(safe-area-inset-bottom));width:min(360px,92vw);border-radius:0 18px 18px 0}.professional-tools-body{padding-bottom:max(28px,env(safe-area-inset-bottom))}}

@media(max-width:1100px),(any-pointer:coarse){
  button,.button,.file-import-button{min-height:44px}
  header .actions>button,#undo,#redo,#user,.zoom button{min-width:44px;min-height:44px}
  .renovation-views button,.layer-group-row button,.layer-row>button,.saved-layer-set-actions button,.layer-manager-row button{min-height:44px}
  .asset-preview button,.property-photo-preview button{min-width:44px;min-height:44px}
  nav{box-shadow:inset -18px 0 16px -17px #17253d}
  .workspace>.floating-menu-handle{height:48px}
  .workspace>.floating-menu-handle small{display:block;font-size:7px;color:#718096;line-height:1}
  .workspace>.floating.menu-open+.floating-menu-handle small{color:#dce8ff}
  aside #settings{padding-bottom:max(16px,env(safe-area-inset-bottom))}
}
@media(max-width:600px){
  .layer-manager-dialog,.text-template-dialog{max-height:calc(100dvh - 24px)}
  .layer-manager-group>summary{position:sticky;top:52px;z-index:2}
  .saved-layer-set-actions button,.personal-text-template-list button,.recent-text-template-list button{min-height:44px}
}
