@font-face{font-family:LocalUI;src:local('Segoe UI')}*{box-sizing:border-box} :root{--ink:#33291f;--muted:#847869;--gold:#bd8426;--light:#f4ead5;--line:#e9e2d6;--brown:#382a20;--paper:#faf8f3}body{margin:0;background:var(--paper);font:14px LocalUI,'Segoe UI',Arial,sans-serif;color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer;transition:background .15s,transform .15s}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d49a32;outline-offset:3px}[hidden]{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#fffdf8;border-right:1px solid var(--line);padding:28px 20px;display:flex;flex-direction:column}.identity{text-align:center;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:8px}.identity img{height:88px;width:88px;object-fit:contain;border-radius:50%}.identity strong{font:bold 25px Georgia,serif;letter-spacing:3px}.identity span{font-size:11px;line-height:1.6;color:var(--muted)}.nav-label{font-size:9px;letter-spacing:1.6px;color:#a49684;margin:40px 12px 14px}.nav-active,.nav-button{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:7px;margin-bottom:7px;font-size:13px}.nav-active{background:#f4ead5;color:#805916;font-weight:600}.nav-active b{margin-left:auto;font-size:11px}.nav-button{border:0;background:none;color:#766b5e;text-align:left;width:100%}.nav-button:hover{background:#f5f0e6}.nav-button span{width:18px}.sidebar-bottom{margin-top:auto;font-size:11px;padding:18px 10px 0;color:#7b705e}.local-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#72885a;margin-right:6px}.sidebar-bottom p{line-height:1.9;margin-top:18px}.sidebar-bottom em{font-family:Georgia,serif}.exit{border:0;background:none;padding:0;color:#96723a;font-size:11px;text-decoration:underline}main{margin-left:238px;padding:0 38px;max-width:1800px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.5px;color:#8b7c68}.topbar>div{display:flex;align-items:center;gap:18px}.slash{margin:0 12px;color:#c1b8a9}.text-button{border:0;background:none;font-size:11px;color:var(--muted)}.version{border:1px solid #e4dac8;padding:7px 10px;border-radius:4px;font-size:9px;letter-spacing:1px}.hero{position:relative;display:flex;justify-content:space-between;align-items:center;padding:32px 4px 30px;gap:25px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:#ac7e39}.hero h1{font:normal 43px/1.1 Georgia,'Times New Roman',serif;letter-spacing:-1.2px;margin:15px 0 14px}.hero h1 i{font-weight:normal;color:#b27c2a}.hero p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.hero-mark{display:flex;flex-direction:column;align-items:center;margin-right:45px;gap:16px}.hero-mark img{width:155px;height:155px;border-radius:50%;object-fit:contain;box-shadow:0 12px 35px #a7792124}.hero-mark span{font-size:8px;letter-spacing:2px;color:#a3824f}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;background:#fffefa;margin-bottom:32px}.stats>div{display:flex;align-items:center;gap:17px;padding:20px 25px}.stats>div+div{border-left:1px solid var(--line)}.stat-icon{display:grid;place-items:center;width:42px;height:42px;font-size:22px;background:#f7f0e3;color:#b48844;border-radius:9px}.stats strong{font-size:25px;font-weight:600;display:block;line-height:1.1}.stats div div span{display:block;font-size:10px;color:var(--muted);margin-top:7px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:19px}h2{font-size:20px;font-weight:600;margin:0 0 7px}.section-heading p{font-size:11px;color:var(--muted);margin:0}.buttons{display:flex;gap:10px}.primary,.secondary{border-radius:6px;padding:11px 17px;font-size:12px;font-weight:600;border:1px solid transparent}.primary{color:white;background:var(--brown)}.primary:hover{background:#5e4329}.secondary{background:#fffdf8;border-color:#e1d8c9;color:#72614c}.secondary:hover{background:#f1e8d6}.searchbar{display:flex;align-items:center;gap:12px;padding:0 15px;height:48px;background:white;border:1px solid var(--line);border-radius:7px;margin-bottom:16px}.searchbar label{font-size:24px;color:#ad9776}.searchbar input{flex:1;border:0;background:none;min-width:0;font-size:12px;color:var(--ink)}.searchbar input:focus{outline:0}.searchbar span{font-size:10px;color:#9a8c78}.browser{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:485px;border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden}.people{border-right:1px solid var(--line);background:#fffefa}.list-title{padding:16px;font-size:9px;letter-spacing:1.5px;color:#9c8565;border-bottom:1px solid var(--line)}.list-title span{display:block;font-size:10px;letter-spacing:0;color:#aaa093;margin-top:5px}#users{max-height:600px;overflow:auto}.user{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid #f1ece3;padding:15px 14px;color:var(--ink)}.user:hover{background:#faf4e9}.user.selected{background:#f6eddc;box-shadow:inset 3px 0 #bd8426}.avatar{display:grid;place-items:center;width:33px;height:33px;flex-shrink:0;border-radius:50%;background:#eee5d5;color:#9b7a47;font-size:10px;font-weight:600}.user.selected .avatar{background:#bb914f;color:white}.user-info{min-width:0}.user-info strong{display:block;font-size:11px;font-weight:600;text-transform:capitalize;overflow-wrap:anywhere;line-height:1.5}.user-info small{display:block;font-size:9px;color:#9b8e7d;margin-top:4px}.arrow{margin-left:auto;color:#ae9672}.dossier{padding:25px;min-width:0}.welcome{text-align:center;padding:95px 0;color:#978973}.welcome-icon{font-size:40px;color:#cdbb97}.welcome h3{font:22px Georgia,serif;color:#6c5840}.welcome p{font-size:12px;line-height:1.8}.dossier-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dossier-header h3{margin:9px 0 6px;font:23px/1.3 Georgia,serif;text-transform:capitalize;overflow-wrap:anywhere}.folio{color:#a57830;font-size:10px;letter-spacing:1px;font-weight:bold}.dossier-header p{font-size:11px;color:var(--muted);margin:0}.dossier-header button{white-space:nowrap}.tabs{display:flex;flex-wrap:wrap;gap:7px;padding:22px 0 18px;border-bottom:1px solid var(--line)}.tab{font-size:10px;border:1px solid #e9e2d6;border-radius:5px;padding:8px 10px;background:white;color:#8d7d66}.tab.active{background:#efe2c8;border-color:#dfcba8;color:#805a21}.tab b{margin-left:5px;font-weight:normal;opacity:.7}.documents-label{font-size:10px;font-weight:600;letter-spacing:.7px;color:#a29178;margin:20px 0 10px}.document{display:flex;align-items:center;gap:11px;padding:15px 0;border-bottom:1px solid #f0ebe3}.file-icon{background:#f8f0e1;color:#b8883e;font-size:9px;font-weight:700;min-width:38px;height:43px;display:grid;place-items:center;border-radius:5px}.file-info{flex:1;min-width:0}.file-info strong{display:block;font-size:12px;overflow-wrap:anywhere;font-weight:500}.file-info small{display:block;font-size:10px;color:#a19584;margin-top:5px}.file-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;max-width:175px}.file-actions button{font-size:10px;border:1px solid #e6ddcb;border-radius:5px;background:white;color:#88652d;padding:7px 9px}.file-actions .new-version{border-color:transparent;color:#9c9080}.empty{font-size:12px;line-height:1.8;color:#9c8c75;text-align:center;padding:40px 15px}footer{display:flex;justify-content:space-between;gap:20px;color:#a89b88;font-size:9px;padding:24px 0 30px}dialog{border:1px solid #e3d5bc;border-radius:14px;padding:28px;width:520px;max-width:calc(100vw - 30px);max-height:90vh;box-shadow:0 30px 100px #251b2240;color:var(--ink)}dialog::backdrop{background:#251c16a3;backdrop-filter:blur(3px)}dialog h2{font:28px Georgia,serif;margin:16px 0 12px}dialog p{font-size:12px;line-height:1.7;color:var(--muted)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.close{border:0;background:#f5f0e7;border-radius:50%;width:29px;height:29px;font-size:21px;flex-shrink:0;color:#927650}.dialog-top h3{font-size:14px;overflow-wrap:anywhere;margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}dialog label{display:block;font-size:12px;font-weight:600;margin-top:20px}dialog input:not([type=file]),dialog select{display:block;width:100%;margin-top:8px;border:1px solid #ded3c0;border-radius:6px;padding:12px;background:#fffdf8;color:var(--ink)}dialog small{display:block;font-size:10px;color:#998d7c;line-height:1.6;margin-top:7px}.dropzone{border:1px dashed #cdb283;border-radius:8px;padding:20px;background:#faf5eb;color:#9a6c28}.dropzone input{display:block;width:100%;margin:15px 0;font-size:11px}.note{font-size:11px;color:#88785f;background:#faf5eb;padding:14px;border-radius:6px;line-height:1.7;margin-top:18px}.form-error,#error{color:#9d422a!important;font-size:12px;white-space:pre-wrap}#error{padding:15px;background:#fff0e9;border:1px solid #f0cabc;margin-bottom:15px;border-radius:7px}#chosenFiles{font-size:11px;color:#8c7b60;margin-top:12px;overflow-wrap:anywhere}.preview{width:1000px}.preview iframe{width:100%;height:65vh;border:0;background:#f5f2eb;margin-top:18px}.preview img{display:block;max-width:100%;max-height:65vh;margin:18px auto;object-fit:contain}.preview pre{white-space:pre-wrap;max-height:60vh;overflow:auto;background:#f8f4eb;padding:16px}.guide{padding-left:19px;font-size:12px;line-height:1.8;color:#877761}.guide li{margin:13px 0}#privacy{position:fixed;inset:0;background:#33271e;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff0d0}#privacy img{width:150px;border-radius:50%}#privacy h2{font:32px Georgia,serif;margin-top:25px}#privacy p{font-size:12px;color:#d4bd97}#privacy button{margin-top:20px;background:#bc8e41}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#3c3023;color:#fff5de;border-radius:7px;padding:14px 23px;box-shadow:0 8px 25px #0002;z-index:110;font-size:12px}progress{width:100%;margin-top:10px;accent-color:#ad7d2b}@media(min-width:1500px){main{padding:0 60px}.browser{grid-template-columns:340px minmax(0,1fr)}}@media(max-width:1100px){.sidebar{width:190px;padding:24px 12px}main{margin-left:190px;padding:0 22px}.hero h1{font-size:37px}.hero-mark{margin-right:5px}.hero-mark img{width:125px;height:125px}.browser{grid-template-columns:240px minmax(0,1fr)}.stats>div{padding:16px 12px;gap:10px}.stat-icon{width:30px}.dossier{padding:19px}.dossier-header{flex-wrap:wrap}.file-actions{max-width:105px}}@media(max-width:800px){.sidebar{position:static;width:100%;height:auto;flex-direction:row;align-items:center;padding:12px 18px;gap:20px;border-bottom:1px solid var(--line)}.identity{flex-direction:row}.identity img{width:42px;height:42px}.identity strong{font-size:20px}.identity span,.nav-label,.nav-active,.sidebar-bottom,.sidebar .nav-button{display:none}main{margin:0;padding:0 18px}.topbar{height:55px}.version{display:none}.hero{padding:25px 0}.hero h1{font-size:34px}.hero .eyebrow{font-size:8px}.hero-mark img{width:92px;height:92px}.hero-mark span{display:none}.hero p{font-size:11px}.stats{margin-bottom:24px}.stats strong{font-size:20px}.stat-icon{display:none}.stats div div span{font-size:9px}.section-heading{align-items:flex-start;flex-direction:column}.browser{grid-template-columns:1fr}.people{border-right:0;border-bottom:1px solid var(--line)}#users{max-height:215px}.dossier{padding:20px}.welcome{padding:35px 0}.file-actions{max-width:125px}footer{flex-direction:column;gap:8px}.topbar{font-size:8px}}

.user-actions{display:flex;flex-direction:column;gap:8px}.status-label{display:flex;align-items:center;gap:12px;color:#847869;font-size:12px;margin-bottom:14px}.status-label select{padding:9px 12px;background:white;border:1px solid #e9e2d6;border-radius:6px;color:#33291f}#archiveText{white-space:pre-line}

.pdf-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0;font-size:12px}.pdf-pages{background:#e9e5df;padding:10px;overflow:auto}.pdf-pages canvas{display:block;max-width:100%;height:auto;margin:auto;box-shadow:0 2px 12px #0002}.preview .dialog-actions{justify-content:flex-start;flex-wrap:wrap;margin:16px 0}

#loginScreen{position:fixed;inset:0;z-index:120;background:#f7f2e8;display:grid;place-items:center;padding:20px;overflow:auto}#loginForm{background:white;border:1px solid #e4d5b9;border-radius:18px;max-width:440px;width:100%;padding:32px;text-align:center;box-shadow:0 16px 50px #442e1512}#loginForm img{width:100px;border-radius:50%;margin-bottom:20px}#loginForm h1{font:28px Georgia,serif}#loginForm p{font-size:13px;line-height:1.6;color:#847869}#loginForm label{display:block;text-align:left;margin:20px 0 8px;font-size:12px}#loginCode{width:100%;padding:14px;border:1px solid #d6c4a6;border-radius:7px;font-size:18px}#loginSubmit{width:100%;margin-top:14px}#loginForm small{display:block;font-size:11px;line-height:1.8;color:#96856b;margin-top:22px}#networkAddresses input{display:block;width:100%;padding:12px;border:1px solid #dfd0b7;border-radius:6px;margin:8px 0;font:16px monospace}#networkCode{display:block;background:#f5ecd9;padding:17px;font-size:24px;text-align:center;letter-spacing:2px;color:#735022}.topbar>div{flex-wrap:wrap;justify-content:flex-end}@media(max-width:800px){.topbar{min-height:76px;height:auto;padding:12px 0;gap:10px}.topbar>div{gap:8px}.text-button{font-size:11px}#loginForm{padding:24px}}

/* C.A.F.E. 5.1: movimiento discreto, sin dependencias externas */
body{background:radial-gradient(ellipse at 90% 0%,#eaddc044,transparent 48%),var(--paper)}
.sidebar{box-shadow:4px 0 30px #382a2004}.identity img{box-shadow:0 4px 18px #80591620;border:2px solid #fff;animation:cafe-logo .65s ease-out both}
.topbar{position:relative}.version{background:#fffaf0;border-radius:20px}.home-hero h1{letter-spacing:-1px}.home-card{box-shadow:0 8px 28px #382a2007;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease}.home-card b{display:inline-block;transition:transform .22s ease}.home-card.cost-card{background:linear-gradient(135deg,#493625,#2f241c)}
.stats,.browser,.cost-browser,.cost-toolbar{box-shadow:0 5px 24px #382a2005}.primary{background:linear-gradient(135deg,#4c3827,#33271f);box-shadow:0 3px 8px #382a2014}.primary,.secondary,.tab,.cost-category,.nav-button,.file-actions button,.cost-switch button{transition:background .18s ease,box-shadow .18s ease,transform .18s ease,border-color .18s ease}
button:not(:disabled):active{transform:scale(.98)}.searchbar{transition:border-color .2s,box-shadow .2s}.searchbar:focus-within{border-color:#bd984f;box-shadow:0 0 0 3px #bd842615}.chosen-nav{box-shadow:inset 3px 0 #b88b43}.cost-category.selected{box-shadow:0 3px 12px #bd842615}
#homeScreen:not([hidden]),#recordsScreen:not([hidden]),#costsScreen:not([hidden]){animation:cafe-enter .3s ease-out both}.home-cards .home-card{animation:cafe-enter .45s ease-out both}.home-cards .home-card:nth-child(2){animation-delay:.07s}dialog[open]{animation:cafe-dialog .2s ease-out both}dialog[open]::backdrop{animation:cafe-fade .2s ease-out both}
#toast{display:flex;align-items:center;gap:11px;max-width:calc(100vw - 30px);width:max-content;line-height:1.5;border:1px solid #b7985c55;border-radius:12px;animation:cafe-toast .25s ease-out both}#toast::before{content:'✓';display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#d4b26b;color:#30251b;font-size:14px;font-weight:bold}
button:disabled{opacity:.65}button.primary:disabled::after{content:'';display:inline-block;width:11px;height:11px;margin-left:8px;vertical-align:middle;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:cafe-spin .8s linear infinite}
@media(hover:hover) and (pointer:fine){.home-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #382a2012}.home-card:hover b{transform:translateX(4px)}.primary:not(:disabled):hover,.secondary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 5px 12px #382a2018}.cost-category:hover{border-color:#b99862;background:#fcf5e8}.file-actions button:hover{background:#f4ead5}}
@keyframes cafe-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes cafe-dialog{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes cafe-fade{from{opacity:0}to{opacity:1}}
@keyframes cafe-logo{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes cafe-toast{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes cafe-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.home-card:hover,.home-card:hover b,button:not(:disabled):active{transform:none!important}}

.network-address{padding:18px;margin:15px 0;border:1px solid #e4d8c4;border-radius:12px;background:#fffcf6}.network-qr{background:#fff;padding:32px;width:296px;max-width:100%;margin:16px auto;box-sizing:border-box}.network-qr canvas,.network-qr img{max-width:100%;height:auto;display:block}.network-address small{display:block;text-align:center;font-size:12px;color:#74634d}

/* A completed or unavailable send button must not look busy. */
#bulkSend:disabled::after{content:none;animation:none}
#bulkSend[aria-busy="true"]::after{content:"";animation:cafe-spin .8s linear infinite}
.bulk-send-feedback{margin-top:16px;padding:12px 16px;border-left:4px solid #b88932;background:#fff8e9;border-radius:8px;color:#493821}
.bulk-send-feedback progress{width:100%;height:14px;accent-color:#b88932}
.bulk-send-feedback p{margin:6px 0}
