:root{--icp-footer-height: 44px;color:#17201d;background:#edf4f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,#f6faf8eb,#edf4f2db),#edf4f2}body:before{position:fixed;inset:0;z-index:-2;content:"";background:linear-gradient(115deg,rgba(245,117,74,.2) 0%,transparent 24%),linear-gradient(155deg,transparent 24%,rgba(33,150,169,.24) 54%,transparent 78%),linear-gradient(35deg,rgba(246,209,116,.22),transparent 42%),linear-gradient(180deg,#f8fbfa,#e7f0ef 52%,#f5efe7);transform:translateZ(0)}body:after{position:fixed;inset:0;z-index:-1;content:"";pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.38) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.38),transparent 74%);mask-image:linear-gradient(180deg,rgba(0,0,0,.38),transparent 74%)}#root{position:relative;z-index:1;display:grid;min-height:0;isolation:isolate}.icp-footer{position:relative;z-index:0;display:flex;align-items:center;justify-content:center;min-height:var(--icp-footer-height);padding:8px 16px 12px;text-align:center}.icp-footer a{border-radius:4px;color:#4f5f59;font-size:.78rem;font-weight:650;line-height:1.4;text-decoration:none;text-underline-offset:3px;transition:color .15s ease,text-decoration-color .15s ease}.icp-footer a:hover{color:#126b58;text-decoration:underline}.icp-footer a:focus-visible{outline:2px solid #126b58;outline-offset:3px}button,input,small{font:inherit}button{min-height:42px}.auth-layout,.admin-layout,.recipient-layout,.recipient-viewer-layout{min-height:0}.auth-layout,.recipient-layout{display:grid;place-items:center;padding:24px}.auth-panel,.panel,.admin-topbar,.recipient-panel,.recipient-viewer-topbar{border:1px solid rgba(255,255,255,.78);background:linear-gradient(135deg,#ffffffad,#ffffff6b),#ffffff75;box-shadow:inset 0 1px #ffffffd1,0 24px 70px #17201d24;backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%)}.auth-panel,.panel,.admin-topbar,.recipient-panel,.recipient-viewer-topbar,.document-row,.share-card,.state-block,.confirm-dialog{animation:surface-enter .22s ease both}.auth-panel,.recipient-panel{width:min(100%,420px);border-radius:8px;padding:28px}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:8px;color:#0f5f4d;background:#d9efe6;margin-bottom:18px}.brand-mark.small{width:40px;height:40px;margin:0}.eyebrow{margin:0 0 6px;color:#69726e;font-size:.78rem;font-weight:700}h1,h2,p{margin-top:0}h1{margin-bottom:22px;font-size:clamp(1.7rem,4vw,2.35rem);line-height:1.08;letter-spacing:0}h2{margin-bottom:0;font-size:1rem;line-height:1.25;letter-spacing:0}.login-form{display:grid;gap:16px}label{display:grid;gap:8px;color:#3f4945;font-size:.92rem;font-weight:700}input{width:100%;min-height:46px;border:1px solid #c7d2cd;border-radius:8px;padding:0 13px;color:#17201d;background:#ffffffdb;outline:none;transition:border-color .16s ease,box-shadow .16s ease}input:focus{border-color:#188567;box-shadow:0 0 0 3px #18856724}.primary-button,.secondary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;border:0;cursor:pointer;font-weight:800;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.primary-button{color:#fff;background:#126b58}.secondary-button{padding:0 16px;color:#114d40;background:#d7eee5}.ghost-button{padding:0 14px;color:#35403b;background:#ffffffa3;border:1px solid rgba(165,177,171,.55)}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:active,.secondary-button:active,.ghost-button:active,.ghost-link:active{transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.62}.form-error{min-height:22px;margin:0;color:#9a3412;font-size:.92rem;font-weight:700}.form-success,.muted-text{margin:0;color:#53615c;font-size:.92rem;line-height:1.5}.form-success{color:#126b58;font-weight:700}.admin-notice-failed{color:#9a3412}.admin-notice-stack{position:fixed;left:clamp(14px,3vw,28px);bottom:calc(clamp(14px,3vw,28px) + var(--icp-footer-height));z-index:60;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;width:min(420px,calc(100vw - 28px));max-height:min(42vh,360px);overflow:hidden;pointer-events:none}.admin-notice{min-height:42px;max-width:100%;margin:0;border:1px solid rgba(255,255,255,.74);border-radius:8px;padding:10px 12px;background:#ffffffe0;box-shadow:0 14px 34px #17201d29;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:admin-notice-fade 2.6s ease forwards;overflow:hidden;overflow-wrap:anywhere;white-space:normal}.admin-notice-action{animation-duration:2s}.admin-notice-action,.admin-notice-processing,.admin-notice-ready{color:#126b58}@keyframes admin-notice-fade{0%{opacity:0;transform:translateY(8px)}12%,78%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.admin-layout{padding:22px}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(1120px,100%);margin:0 auto 18px;border-radius:8px;padding:16px}.recipient-viewer-layout{display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:18px}.recipient-viewer-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(1280px,100%);margin:0 auto;border-radius:8px;padding:16px}.recipient-viewer-surface{display:grid;grid-template-rows:minmax(0,1fr);gap:12px;width:min(1280px,100%);height:calc(100vh - 168px - var(--icp-footer-height));min-height:520px;min-width:0;margin:0 auto;overflow:hidden}.recipient-viewer-surface>*{min-width:0;min-height:0}.recipient-viewer-actions,.zoom-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.zoom-controls{min-height:42px;border:1px solid rgba(165,177,171,.55);border-radius:8px;padding:0 8px;color:#35403b;background:#ffffffa3;font-weight:850}.icon-button{width:34px;min-height:34px;padding:0}.recipient-message{margin:0;color:#53615c;line-height:1.55;font-weight:700}.recipient-table-area{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;align-self:stretch;height:100%;min-width:0;min-height:0;overflow:hidden}.recipient-table-area .sheet-tabs-frame{grid-column:1;width:100%;justify-self:stretch}.recipient-table-area .sheet-tabs{justify-content:flex-start}.recipient-table-area .sheet-tabs-viewport{width:100%}.recipient-table-area>.horizontal-scroll-frame,.recipient-snapshot-preview>.horizontal-scroll-frame{min-height:0}.workbook-table-preview{display:grid;gap:8px;min-width:0;min-height:0}.recipient-table-area .workbook-table-preview,.recipient-table-area .workbook-table-preview .horizontal-scroll-frame{grid-template-rows:auto minmax(0,1fr);align-self:stretch;height:100%;min-height:0;overflow:hidden}.recipient-snapshot-preview>.horizontal-scroll-frame{grid-template-rows:auto minmax(0,1fr);align-self:stretch;height:100%;min-height:0;overflow:hidden}.topbar-title{display:flex;align-items:center;gap:12px;min-width:0}.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.topbar-title h1{margin:0;font-size:1.22rem}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:min(1120px,100%);margin:0 auto}.panel{min-width:0;min-height:188px;border-radius:8px;padding:18px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.panel:hover{border-color:#fffffff0;box-shadow:inset 0 1px #ffffffe6,0 28px 74px #17201d29}.panel-wide{grid-column:1 / -1;overflow:hidden}.panel-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.panel-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px}.panel-green .panel-icon{color:#11684f;background:#daf0e7}.panel-gold .panel-icon{color:#805400;background:#f5e8bf}.panel-ink .panel-icon{color:#24313c;background:#dbe4ea}.panel-rose .panel-icon{color:#8d2d3e;background:#f3dce0}.upload-zone,.empty-state{display:grid;align-items:center;gap:14px}.upload-zone{grid-template-columns:auto minmax(0,1fr) auto;min-height:102px;border:1px dashed #9db9ad;border-radius:8px;padding:16px;color:#4a5751;background:linear-gradient(135deg,#ffffffbd,#ffffff70),#f5faf89e;box-shadow:inset 0 1px #ffffffb3}.upload-form{display:grid;gap:10px}.file-field{min-width:0}.file-field input{padding:9px 12px}.file-field small{color:#69726e;font-size:.84rem;font-weight:600;line-height:1.45}.upload-zone p,.empty-state p{margin:4px 0 0;color:#69726e;line-height:1.5}.metric-list{display:grid;gap:10px}.metric-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;border-radius:8px;padding:0 12px;background:#ffffff94;box-shadow:inset 0 1px #ffffffa3}.metric-row span{color:#69726e}.loading-row span,.loading-row strong{display:block;width:34%;height:12px;border-radius:8px;background:#d9e2de;animation:soft-pulse 1.2s ease-in-out infinite}.empty-state{grid-template-columns:auto minmax(0,1fr);min-height:96px;border:1px solid rgba(198,209,203,.7);border-radius:8px;padding:16px;color:#4a5751;background:linear-gradient(135deg,#ffffffad,#ffffff61),#ffffff85}.empty-state.compact{min-height:76px}.document-list{display:grid;gap:10px}.document-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;min-height:70px;border:1px solid rgba(198,209,203,.72);border-radius:8px;padding:12px;color:inherit;background:linear-gradient(135deg,#ffffffa8,#ffffff6b),#ffffff85;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease}.document-row:hover,.document-row.selected{border-color:#1885679e;background:#f1f9f6eb;box-shadow:0 14px 32px #17201d1a}.document-row:hover{transform:translateY(-1px)}.document-select-button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;min-width:0;min-height:44px;border:0;padding:0;color:inherit;background:transparent;cursor:pointer;text-align:left}.document-delete-button{align-self:center;white-space:nowrap}.document-main,.document-meta,.detail-header>div{display:grid;gap:5px;min-width:0}.document-main strong,.detail-header strong{overflow:hidden;color:#17201d;text-overflow:ellipsis;white-space:nowrap}.document-main span,.detail-header span,.document-meta>span:not(.status-badge){color:#69726e;font-size:.88rem;font-weight:650}.document-meta{justify-items:end}.status-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:26px;border-radius:8px;padding:0 9px;font-size:.82rem;font-weight:850;white-space:nowrap;transition:color .16s ease,background .16s ease,transform .16s ease}.status-uploaded,.status-processing{color:#805400;background:#f5e8bf}.status-processing svg{animation:soft-pulse 1.1s ease-in-out infinite}.status-ready{color:#11684f;background:#daf0e7}.status-failed{color:#9a3412;background:#f7ddcf}.detail-panel{display:grid;gap:14px;min-width:0}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px;border-bottom:1px solid rgba(198,209,203,.62);padding-bottom:12px}.state-block{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;border-radius:8px;padding:14px;overflow:hidden}.state-block.processing:after{position:absolute;inset:0;content:"";background:linear-gradient(110deg,transparent,rgba(255,255,255,.28),transparent);transform:translate(-100%);animation:processing-sheen 1.8s ease-in-out infinite}.state-block>*{position:relative;z-index:1}.state-block strong{display:block;margin-bottom:4px}.state-block p{margin:0;color:#53615c;line-height:1.5}.state-block.processing{color:#805400;background:#f5e8bf9e}.state-block.failed{color:#9a3412;background:#f7ddcfad}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid rgba(198,209,203,.62);padding-top:14px}.danger-zone div{min-width:0}.danger-zone strong{display:block;margin-bottom:4px;color:#8d2d3e}.danger-zone p{margin:0;color:#69726e;line-height:1.5}.preview-area{display:grid;gap:12px;min-width:0;overflow:hidden}.preview-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-content:space-between;gap:12px;min-width:0}.segmented-control,.sheet-tabs{display:flex;gap:6px;min-width:0}.sheet-tabs-frame{grid-column:2;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0}.sheet-tabs-viewport{overflow-x:auto;min-width:0;padding-bottom:2px;scrollbar-width:thin;overscroll-behavior-x:contain}.sheet-tabs-scroll-button,.horizontal-scroll-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:34px;min-height:34px;border:1px solid rgba(165,177,171,.58);border-radius:8px;padding:0;color:#35403b;background:#ffffffb8;cursor:pointer;transition:border-color .15s ease,transform .15s ease,background .15s ease,opacity .15s ease}.sheet-tabs-scroll-button{flex:0 0 auto}.sheet-tabs{justify-content:flex-end;flex-wrap:nowrap;width:max-content}.segmented-control button,.sheet-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:1px solid rgba(165,177,171,.58);border-radius:8px;padding:0 10px;color:#35403b;background:#ffffff9e;cursor:pointer;font-size:.9rem;font-weight:800;flex:0 0 auto;transition:border-color .15s ease,color .15s ease,background .15s ease,transform .15s ease}.segmented-control button.active,.sheet-tabs button.active{border-color:#1885679e;color:#114d40;background:#d7eee5}.horizontal-scroll-frame{display:grid;grid-template-rows:minmax(0,1fr);gap:8px;min-width:0;min-height:0}.horizontal-scroll-frame.has-scroll-controls{grid-template-rows:auto minmax(0,1fr)}.horizontal-scroll-controls{display:grid;grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;gap:8px;color:#53615c}.horizontal-scroll-track{position:relative;height:6px;overflow:hidden;border-radius:999px;background:#c6d1cb94}.horizontal-scroll-thumb{position:absolute;top:0;bottom:0;min-width:16px;border-radius:inherit;background:#73ae9f}.horizontal-scroll-viewport{overflow:auto;min-width:0;min-height:0;overscroll-behavior-x:contain}.table-scroll{width:100%;min-width:0;max-width:100%;max-height:520px;border:1px solid rgba(198,209,203,.75);border-radius:8px;background:#ffffffb8;box-shadow:inset 0 1px #ffffffbd}.workbook-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem}.workbook-table th,.workbook-table td{min-width:92px;max-width:360px;border-right:1px solid #dbe4df;border-bottom:1px solid #dbe4df;padding:8px 10px;overflow:visible;overflow-wrap:anywhere;text-overflow:clip;vertical-align:top;white-space:pre-wrap}.recipient-viewer-surface .workbook-table{font-size:calc(.88rem * var(--recipient-zoom, 1))}.recipient-viewer-surface .workbook-table th,.recipient-viewer-surface .workbook-table td{min-width:calc(92px * var(--recipient-zoom, 1));max-width:calc(360px * var(--recipient-zoom, 1));padding:calc(8px * var(--recipient-zoom, 1)) calc(10px * var(--recipient-zoom, 1))}.recipient-viewer-surface .table-scroll{align-self:stretch;height:auto;max-height:none;min-height:0}.workbook-table th{position:sticky;top:0;z-index:1;color:#53615c;background:#eef4f1;font-weight:850}.workbook-table tbody th{left:0;z-index:0;min-width:52px;text-align:right}.snapshot-preview{display:grid;gap:12px;min-width:0}.recipient-snapshot-preview{grid-template-rows:auto minmax(0,1fr);align-self:stretch;height:100%;min-height:0;overflow:hidden}.snapshot-controls{display:flex;align-items:center;justify-content:center;gap:12px;color:#53615c;font-weight:800}.snapshot-frame{max-width:100%;max-height:76vh;border:1px solid rgba(198,209,203,.75);border-radius:8px;background:#fff;box-shadow:inset 0 1px #ffffffb8}.snapshot-preview img{display:block;width:auto;max-width:none;max-height:calc(76vh - 16px);height:auto;margin:0 auto}.recipient-snapshot-preview img.recipient-snapshot-image{width:calc(100% * var(--recipient-zoom, 1));max-height:none;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.recipient-snapshot-preview .snapshot-frame{align-self:stretch;height:auto;max-height:none;min-height:0}.share-panel{display:grid;gap:14px;min-width:0}.share-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.share-summary{display:grid;gap:5px;min-width:0}.share-summary strong{overflow:hidden;color:#17201d;text-overflow:ellipsis;white-space:nowrap}.share-summary span,.share-label,.share-meta-grid{color:#69726e;font-size:.88rem;font-weight:650}.share-list{display:grid;gap:10px;min-width:0}.share-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;min-width:0;border:1px solid rgba(198,209,203,.72);border-radius:8px;padding:12px;background:linear-gradient(135deg,#ffffffa3,#fff6),#ffffff85;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,opacity .16s ease}.share-card:hover{border-color:#18856780;box-shadow:0 14px 32px #17201d1a;transform:translateY(-1px)}.share-card-deleted{opacity:.72}.share-card-main{display:grid;gap:10px;min-width:0}.share-card code{display:block;width:100%;overflow:hidden;color:#17201d;text-overflow:ellipsis;white-space:nowrap}.share-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.share-meta-grid span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.share-status{display:inline-flex;align-items:center;min-height:32px;border-radius:8px;padding:0 10px;font-size:.82rem;font-weight:850;white-space:nowrap}.share-status-active{color:#11684f;background:#daf0e7}.share-status-expired,.share-status-redeemed{color:#805400;background:#f5e8bf}.share-status-revoked,.share-status-deleted{color:#9a3412;background:#f7ddcf}.ghost-button.danger{color:#8d2d3e;border-color:#8d2d3e47;background:#f3dce094}.ghost-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid rgba(165,177,171,.55);border-radius:8px;padding:0 14px;color:#35403b;background:#ffffffa3;font-weight:800;text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .15s ease,opacity .15s ease}.empty-state strong,.upload-zone strong{color:#17201d}.confirm-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:#121c193d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:confirm-backdrop-enter .18s ease both}.confirm-dialog{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;width:min(100%,460px);border:1px solid rgba(255,255,255,.78);border-radius:8px;padding:18px;background:linear-gradient(135deg,#ffffffc2,#ffffff7a),#ffffff9e;box-shadow:inset 0 1px #ffffffdb,0 30px 90px #17201d47;backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%)}.confirm-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;color:#8d2d3e;background:#f3dce0b3}.confirm-content{display:grid;gap:8px;min-width:0}.confirm-content h2{margin:0}.confirm-content p{margin:0;color:#53615c;line-height:1.55}.confirm-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;padding-top:4px}@keyframes surface-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes soft-pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes processing-sheen{0%{transform:translate(-100%)}55%,to{transform:translate(100%)}}@keyframes confirm-backdrop-enter{0%{opacity:0}to{opacity:1}}@media(max-width:760px){.admin-layout,.recipient-viewer-layout{padding:14px}.admin-topbar,.recipient-viewer-topbar,.dashboard-grid{width:100%}.admin-topbar,.recipient-viewer-topbar,.upload-zone,.share-card,.document-select-button,.document-row{grid-template-columns:1fr}.admin-topbar,.recipient-viewer-topbar{align-items:stretch;flex-direction:column}.topbar-actions,.recipient-viewer-actions{justify-content:stretch}.topbar-actions .ghost-button,.recipient-viewer-actions>*,.zoom-controls{flex:1 1 auto}.dashboard-grid{grid-template-columns:1fr}.upload-zone,.empty-state{align-items:start}.document-meta{justify-items:start}.detail-header,.danger-zone,.preview-toolbar,.share-toolbar,.snapshot-controls{align-items:stretch;flex-direction:column}.share-meta-grid{grid-template-columns:1fr}.share-card-actions{justify-content:stretch}.share-card-actions>*{flex:1 1 auto}.preview-toolbar{grid-template-columns:1fr}.sheet-tabs{justify-content:flex-start}.sheet-tabs-frame{grid-column:1}.confirm-dialog{grid-template-columns:1fr}.confirm-actions{flex-direction:column-reverse}.confirm-actions .ghost-button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
