:root{font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;color:#172033;background:#ecf4f3;--bg-top: #f7fbff;--bg-bottom: #e4f0ee;--panel: rgba(255, 255, 255, .96);--border: #cfe0df;--border-strong: #90b6b3;--text-soft: #5b6b79;--accent: #0f766e;--accent-strong: #0a5c56;--accent-soft: #e4f5f3;--highlight: #f59e0b;--highlight-soft: #fff5db;--danger: #dc4f61;--danger-strong: #c63d4f}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-width:320px;overflow:hidden;background:radial-gradient(circle at top left,rgba(15,118,110,.12),transparent 24%),linear-gradient(180deg,#ffffffb3,#e4f0eefa),linear-gradient(135deg,var(--bg-top) 0%,var(--bg-bottom) 100%)}button,input{font:inherit}button{border:1px solid transparent;border-radius:0;padding:11px 14px;background:var(--accent);color:#fff;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}button:hover{background:var(--accent-strong)}button:disabled{opacity:.55;cursor:not-allowed}input{width:100%;min-height:42px;border:1px solid var(--border);border-radius:0;padding:10px 12px;background:#fff;color:#172033}.auth-shell,.app-shell{height:100%}.auth-shell{display:grid;place-items:center;padding:24px}.auth-card{width:min(420px,100%);padding:32px;background:var(--panel);border:1px solid var(--border);box-shadow:0 18px 40px #101f4414}.auth-card h1,.panel h2,.details-form h3{margin:0;font-size:24px;font-weight:600}.section-kicker{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#4f7b77}.auth-hint,.error-text,.panel-head p,.header-title span,.message-bar,.user-card p,.booking-summary p{color:var(--text-soft)}.auth-form,.password-form{display:grid;gap:12px;margin-top:24px}.error-text{margin-top:16px;color:#b42929}.app-shell{display:grid;grid-template-rows:auto auto auto 1fr;gap:12px;padding:12px}.app-header,.panel,.password-panel{background:var(--panel);border:1px solid var(--border);box-shadow:0 10px 24px #101f440d}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:10px 12px}.header-left,.header-right{display:flex;align-items:center;gap:12px}.header-title{display:grid;gap:2px}.menu-wrap{position:relative}.menu-button,.user-button{min-width:96px;background:#fff;color:#172033;border-color:var(--border)}.menu-button{min-width:48px;width:48px;padding:0;font-size:1.35rem;line-height:1}.menu-button:hover,.user-button:hover{background:#f1f9f8}.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:20;min-width:220px;display:grid;border:1px solid var(--border);background:#fff;box-shadow:0 18px 40px #101f441f}.dropdown-menu button{background:#fff;color:#172033;text-align:left;border-color:#e5efee}.dropdown-menu button:hover,.active-menu-item{background:var(--accent-soft)}.user-dropdown{right:0;left:auto}.message-bar{margin:0;padding:10px 12px;background:#f5fbfa;border:1px solid var(--border)}.password-panel{padding:12px}.password-form{grid-template-columns:1fr 1fr auto;margin-top:0}.content-shell{min-height:0}.workspace,.single-panel-view{height:100%;min-height:0}.workspace{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(400px,1.25fr) minmax(380px,1.05fr);gap:12px}.single-panel-view{display:grid}.panel{display:flex;flex-direction:column;min-height:0;padding:14px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-head p{margin:6px 0 0}.panel-count{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:0 8px;border:1px solid var(--border);background:#f4fbfa;color:#172033}.scroll-area{min-height:0;overflow:auto}.document-list,.booking-table,.user-list{display:grid;gap:8px}.booking-table{align-content:start}.document-item,.booking-row,.user-card{padding:12px;border:1px solid var(--border);background:#fff;color:#172033}.document-item,.booking-row{display:grid;gap:4px;text-align:left}.document-item.active,.booking-row.active{border-color:var(--accent);background:var(--accent-soft)}.booking-row.checked-booking{border-color:#d9e1e8;background:#f7f9fb}.booking-row.checked-booking strong{color:#516070}.status-chip{width:fit-content;padding:3px 8px;border:1px solid currentColor;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.status-new{color:var(--accent);background:#e7f7f5}.status-draft{color:#a46a00;background:var(--highlight-soft)}.preview-panel{padding:0}.preview-body{flex:1;min-height:0;border:0;background:linear-gradient(180deg,#f8fbfb,#eef7f6)}.preview-sheet{min-height:100%;padding:0;background:linear-gradient(180deg,#fffffffa,#f4faf9fa)}.document-frame{width:100%;height:100%;min-height:640px;border:0;background:#fff}.pdf-preview{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0}.pdf-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);background:#f4fbfa}.pdf-toolbar-group{display:flex;align-items:center;gap:8px}.pdf-canvas-wrap{min-height:0;overflow:auto;padding:16px;display:grid;justify-items:center;align-content:start}.pdf-canvas-wrap canvas{display:block;box-shadow:0 10px 24px #101f441f;background:#fff}.pdf-page-layer{position:relative}.pdf-text-layer{position:absolute;top:0;right:0;bottom:0;left:0;color:transparent;-webkit-user-select:text;user-select:text;pointer-events:auto;z-index:2;line-height:1;overflow:hidden;opacity:1;-webkit-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;text-align:initial;transform-origin:0 0}.pdf-text-item{position:absolute;transform-origin:0 0;white-space:pre;color:transparent;cursor:text;-webkit-user-select:text;user-select:text}.pdf-text-layer span,.pdf-text-layer br{position:absolute;white-space:pre;color:transparent;cursor:text;transform-origin:0 0;-webkit-user-select:text;user-select:text}.preview-empty{color:var(--text-soft);padding:24px}.empty-state{display:grid;place-items:center;height:100%;color:#5f6b81}.matcher-layout{display:grid;grid-template-rows:auto minmax(140px,fit-content(320px)) minmax(260px,1.1fr);gap:12px;min-height:0;flex:1}.search-box{flex:0 0 auto}.booking-row-main{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px}.booking-title{display:flex;align-items:center;gap:8px;min-width:0}.booking-check{width:16px;min-width:16px;display:inline-flex;align-items:center;justify-content:center;color:transparent}.booking-check.is-checked{color:var(--accent)}.booking-row-meta,.booking-row-subline{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--text-soft)}.booking-row-subline{line-height:1.35}.details-form{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;min-height:0;border-top:1px solid #e3eceb;padding-top:10px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start;padding-right:2px}.field-grid label{display:grid;gap:4px;color:#33415c;font-size:13px}.action-row{display:flex;gap:10px}.secondary-button{background:#fff;color:#172033;border-color:var(--border)}.secondary-button:hover{background:#f1f9f8}.inline-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}.users-panel .user-list{flex:1}.user-card{display:flex;justify-content:space-between;align-items:center;gap:12px}.tasks-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);gap:12px;min-height:0;height:100%}.tasks-panel,.task-detail-panel,.tasks-table-wrap,.task-log-list,.task-settings-form{min-height:0}.tasks-table{width:100%;border-collapse:collapse}.tasks-table th,.tasks-table td{padding:12px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.tasks-table tbody tr{cursor:pointer}.tasks-table tbody tr:hover,.active-task-row{background:var(--accent-soft)}.task-actions,.task-detail-tabs{display:flex;gap:8px;align-items:center}.icon-button{min-width:42px;padding:10px 12px}.task-settings-form{display:grid;gap:10px;align-content:start}.task-settings-form label{display:grid;gap:4px;color:#33415c;font-size:13px}.checkbox-row{grid-template-columns:auto 1fr;align-items:center;gap:10px}.checkbox-row input{width:auto;min-height:auto}.form-hint{margin:0;color:var(--text-soft);font-size:13px;line-height:1.45}.task-log-entry{padding:12px 0;border-bottom:1px solid var(--border)}.task-log-entry strong,.task-log-entry p{display:block}.task-log-entry p{margin:6px 0 0;color:var(--text-soft)}.danger-button{background:var(--danger)}.danger-button:hover{background:var(--danger-strong)}@media (max-width: 1180px){body{overflow:auto}.app-shell{height:auto;min-height:100%}.content-shell,.workspace,.tasks-layout,.single-panel-view{min-height:auto}.workspace,.tasks-layout{grid-template-columns:1fr}.panel,.matcher-layout,.details-form{min-height:auto}.scroll-area{overflow:visible}}@media (max-width: 760px){.app-shell,.auth-shell{padding:10px}.app-header,.header-left,.header-right,.password-form,.inline-form,.field-grid,.action-row{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.app-header{align-items:stretch}}
