:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:#272b2a;background:#f7f8f5}*{box-sizing:border-box}body{margin:0}a{color:#23624d;text-decoration:none}a:hover{text-decoration:underline}button,a,input,select,textarea{font:inherit}button{cursor:pointer}.sidebar{width:260px;background:#15392f;color:#fff;position:fixed;inset:0 auto 0 0;padding:29px 18px;display:flex;flex-direction:column}.logo{font-size:22px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.logo span{color:#d3ad62}.logo em{font-style:normal;font-size:11px;font-weight:500;letter-spacing:.1em;display:block;margin-left:29px;opacity:.7;text-transform:uppercase}.sidecaption{font-size:10px;letter-spacing:.16em;opacity:.55;margin:54px 14px 16px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{color:#d2ded7;padding:13px 14px;border-radius:10px;font-weight:540;font-size:14px}.sidebar nav a.active,.sidebar nav a:hover{background:#2c5548;color:white;text-decoration:none}.navico{color:#b89a55;font-size:10px;margin-right:14px}.bottom{margin-top:auto;padding:20px 12px;border-top:1px solid #436154;display:grid;gap:5px}.bottom small{opacity:.7}.bottom a{color:#d4e2d8;font-size:13px;margin-top:7px}.content{margin-left:260px;padding:32px 42px;max-width:1650px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-weight:750;color:#af8c4e;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.eyebrow.light{color:#e2c887}h1{font-size:29px;letter-spacing:-.045em;margin:7px 0 0}h2{font-size:21px;letter-spacing:-.03em}h3{font-size:17px}p{line-height:1.65;color:#59645e}.avatar{background:#d7e7df;color:#1a513d;border-radius:50%;height:43px;width:43px;display:grid;place-items:center;font-weight:800}.welcome{background:linear-gradient(110deg,#204f3e,#15382d);color:#fff;border-radius:16px;padding:29px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.welcome h2{font-size:27px;margin:8px 0}.welcome p{color:#c5d9cf;margin:0}.button{display:inline-flex;justify-content:center;align-items:center;background:#215941;color:white;border:1px solid #215941;border-radius:9px;padding:11px 16px;font-size:13px;font-weight:740;text-decoration:none;cursor:pointer}.button:hover{text-decoration:none;background:#173f30}.button-light{background:white;color:#234534;border-color:white;white-space:nowrap}.button-light:hover{background:#f2ebdb}.button.secondary{background:white;color:#23533e;border-color:#d1dcd6}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:24px 0 36px}.stat{border:1px solid #e6e9e3;background:white;border-radius:13px;padding:21px;display:grid;gap:8px}.stat small{font-size:12px;color:#68746d}.stat strong{font-size:35px;font-weight:750;letter-spacing:-.05em}.stat span{font-size:12px;color:#7b867f}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:30px 0 15px}.sectionhead h2{margin:0}.sectionhead p{margin:0}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.meetingcard{border:1px solid #e6e8e4;background:#fff;color:inherit;padding:24px;border-radius:13px;display:block}.meetingcard:hover{border-color:#a3c1af;text-decoration:none}.meetingcard h3{margin:12px 0 8px}.meetingcard p{margin:0 0 20px;font-size:13px}.meetingcard span{font-size:13px;color:#286348;font-weight:700}.sheet,.tablewrap,.empty{background:#fff;border:1px solid #e4e8e4;border-radius:13px;padding:25px}.sheet h2{margin:13px 0 25px}.sheet h3{margin:24px 0 6px}.sheet p{white-space:normal}.empty{text-align:center;padding:55px}.tablewrap{padding:0;overflow:hidden}.filters{padding:15px;display:flex;gap:10px;border-bottom:1px solid #edf0ea}input,select,textarea{padding:12px 13px;border:1px solid #d9e1da;border-radius:8px;background:white;color:#24382d;width:100%;outline-color:#5c9471}input[type=checkbox]{width:auto}.filters input{max-width:470px}.filters select{max-width:190px}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:11px;color:#728076;background:#fafbf9;text-transform:uppercase;letter-spacing:.04em}th,td{padding:15px;border-bottom:1px solid #edf0ed;vertical-align:middle}td strong{font-size:13px;font-weight:700}td small{display:block;color:#889289;font-size:11px;margin-top:7px}td:last-child{white-space:nowrap}.pill{display:inline-block;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:720;white-space:nowrap}.pill.pending{background:#f3efe4;color:#926d2e}.pill.progress{background:#e7f1fc;color:#32669a}.pill.done{background:#dcf2e5;color:#216f4b}.red{color:#b55041;font-weight:650}.form{max-width:900px}.form label{display:block;font-size:12px;font-weight:720;color:#42564a;margin:17px 0 7px}.form textarea{resize:vertical;min-height:95px}.form button{margin-top:18px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.twocol{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);align-items:start;gap:20px}.rightstack{display:grid;gap:20px}.comment,.history{border-bottom:1px solid #e8ede8;padding:13px 0}.comment strong,.history strong{display:block;font-size:13px}.comment small,.history small{display:block;color:#859087;font-size:11px;margin:4px 0}.comment p{margin:6px 0;font-size:13px}.history pre{white-space:pre-wrap;font-size:11px;overflow:auto;background:#f5f7f4;padding:12px;border-radius:7px}.hint{color:#99713b;font-size:12px}.alert{padding:13px 17px;background:#fff0e9;border:1px solid #e9c3ab;color:#9c4422;border-radius:9px;margin-bottom:20px}.alert.success{background:#e9f6ed;color:#1d6940;border-color:#c2e6cd}.progress{height:15px;border-radius:99px;background:#e8eee9;overflow:hidden}.progress span{height:100%;background:#4b9b6d;display:block}.login{max-width:430px;margin:8vh auto;padding:42px;background:white;border:1px solid #e3e8e4;border-radius:17px;box-shadow:0 20px 60px #26342d12}.login h1{font-size:32px}.login h1 span{font-weight:350;color:#537263}.login p{margin:17px 0 28px}.login label{display:block;font-size:12px;font-weight:650;margin:17px 0 7px}.login .button{margin:24px 0;width:100%}.login small{color:#8b958d}.brandmark{font-size:44px;color:#bd985b}.full{width:100%}[hidden]{display:none!important}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.twocol{grid-template-columns:1fr}.content{padding:25px}.sidebar{width:215px}.content{margin-left:215px}}@media(max-width:680px){.sidebar{position:static;inset:auto;width:auto;padding:15px}.logo em,.sidecaption,.bottom{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:3px;margin-top:14px}.sidebar nav a{white-space:nowrap;font-size:12px;padding:10px}.navico{display:none}.content{margin:0;padding:17px}.topbar{margin-bottom:18px}.topbar h1{font-size:23px}.welcome{display:block;padding:22px}.welcome .button{margin-top:20px}.stats{gap:8px}.stat{padding:15px}.stat strong{font-size:28px}.cards,.fields{grid-template-columns:1fr}.sheet{padding:17px}.tablewrap{overflow-x:auto}.tablewrap table{min-width:720px}.sectionhead{align-items:flex-start;flex-wrap:wrap}.filters{min-width:720px}.login{margin:15px;padding:25px}}

/* MASSI identidad corporativa V1.2 — fuente: massijoyeria.com/brand */
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&family=Libre+Baskerville:wght@400;700&display=swap');
:root{--pine:#2F4F4F;--eucalyptus:#508072;--gold:#D4AF37;--ivory:#F5F3EE;--warm-white:#FBFAF7;--charcoal:#223434;--danger:#9C1A1A}
body{font-family:'Lato',sans-serif;background:var(--ivory);color:var(--charcoal)}
h1,h2,h3{color:var(--charcoal)}.welcome h2,.login h1{font-family:'Libre Baskerville',serif}
.sidebar{background:linear-gradient(160deg,#173B3F,#2F4F4F)}.logo span,.navico,.eyebrow{color:var(--gold)}
.button{background:var(--pine);border-radius:9px}.button:hover{background:var(--eucalyptus)}
.sheet,.meetingcard,.stat{background:var(--warm-white);border-radius:15px;box-shadow:0 5px 24px rgba(34,52,52,.035)}
input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.massi-modal-overlay{position:fixed;inset:0;background:rgba(20,38,39,.57);z-index:99999;display:none;align-items:center;justify-content:center;padding:20px}.massi-modal-overlay.open{display:flex}
.massi-modal{width:min(100%,460px);background:var(--warm-white);padding:32px;border-radius:17px;border:1px solid #eae5dc;box-shadow:0 20px 70px rgba(20,38,39,.25)}
.massi-modal h2{font-family:'Libre Baskerville',serif;font-size:23px;margin:14px 0}.massi-modal p{line-height:1.6;color:var(--charcoal)}.massi-modal-gem{color:var(--gold);font-size:30px}.massi-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}.button.massi-danger{background:#9C1A1A;color:#fff}.button.massi-danger:hover{background:#B42318}
.massi-toast{border-left:4px solid var(--gold);background:#fff9e8!important;color:var(--charcoal)!important}.massi-trash-row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-bottom:1px solid #EAE5DC;padding:14px 0}.massi-trash-row form{margin:0}
@media(max-width:700px){.massi-modal{padding:22px}.massi-modal-actions .button{flex:1}}

.massi-import{margin:0 0 22px;padding:28px;border:1px solid #d8d0c3;background:#fbfaf7;border-radius:18px}.massi-import h2{color:#2f4f4f;margin:0 0 8px}.massi-import input[type=file]{display:block;width:100%;padding:14px;border:1px dashed #508072;border-radius:12px;margin:12px 0}.massi-import .button{margin:6px 0 12px}

/* MASSI V1.4: interfaz operativa */
.massi-actions{margin-bottom:20px}.massi-action-links{display:flex;gap:12px;flex-wrap:wrap}.massi-danger-zone{border:1px solid #eed5ce;border-radius:13px;padding:15px;margin-top:18px}.massi-danger-zone summary{cursor:pointer;color:#9c1a1a;font-weight:700}.massi-danger-zone form{margin-top:15px}.massi-danger-zone select,.massi-danger-zone input[type=text]{display:block;width:100%;margin:8px 0 16px;padding:12px;border-radius:9px;border:1px solid #d8d0c3}.massi-danger{background:#9c1a1a!important;color:white!important}.massi-select-tasks{max-height:220px;overflow-y:auto;border:1px solid #eae5dc;border-radius:10px;padding:12px}.massi-select-tasks label{display:block;padding:6px}.massi-select-tasks input{width:auto!important}.massi-mail-card{border:1px solid #eae5dc;border-radius:12px;padding:15px;margin:14px 0}.massi-mail-card summary{color:#2f4f4f;cursor:pointer;font-weight:700}.massi-mail-card pre{max-height:340px;overflow:auto;white-space:pre-wrap;background:#f5f3ee;padding:16px;border-radius:10px;font:14px/1.6 Lato,system-ui,sans-serif}.massi-mail-card button{margin-top:10px}.massi-upload-label{border:2px dashed #508072;border-radius:15px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;padding:18px;background:#f5f3ee;color:#2f4f4f;gap:7px}.massi-upload-label small{font-size:12px;color:#607174}.massi-upload-symbol{font-size:28px;color:#b88a1b}.massi-file-control{background:#fbfaf7;border:1px solid #b9cbc7;border-radius:11px;padding:11px!important}.massi-file-control::file-selector-button{background:#2f4f4f;color:#fff;border:0;padding:11px 15px;border-radius:9px;font-weight:700;cursor:pointer;margin-right:12px}

/* V1.5 navegación, formularios y carga accesible */
.massi-chips,.massi-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.massi-chip{font-size:12px;font-weight:700;color:#2F4F4F;background:#E9F0EF;border:1px solid #B9CBC7;padding:5px 9px;border-radius:99px}.massi-chip.massi-late{background:#FFF9E8;color:#9C1A1A;border-color:#E8D79B}.massi-shortcuts{margin:8px 0 19px}.massi-upload-label{cursor:pointer;min-height:145px;transition:background .15s,border-color .15s}.massi-upload-label:hover{background:#E9F0EF;border-color:#D4AF37}.massi-hidden-file{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden}.massi-hidden-file:focus+.button{outline:2px solid #D4AF37}.massi-selected-file{font-size:12px;color:#223434;font-weight:700}.massi-import .button{margin-top:15px}.meetingcard{transition:transform .15s,border-color .15s}.meetingcard:hover{transform:translateY(-2px);border-color:#D4AF37}.sidebar .logo{color:#fff}
