
#crew-sim{font-family:Arial,sans-serif;padding:16px 12px;color-scheme:light dark;color:light-dark(#182b40,#eef3fa)}#crew-sim .demo-controls{max-width:400px;margin:0 auto 14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px}#crew-sim .demo-controls select{flex:1}#crew-sim .phone{max-width:400px;margin:auto;background:light-dark(#f5f7fa,#151e2a);border:1px solid light-dark(#d8e0eb,#3b4b60);border-radius:26px;overflow:hidden}#crew-sim header{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;background:light-dark(#fff,#1d2939)}#crew-sim .brand{font-size:23px;font-weight:700}#crew-sim .brand span{color:light-dark(#bc2638,#ff8b97)}#crew-sim button,#crew-sim input,#crew-sim textarea,#crew-sim select{font:inherit}#crew-sim .menu{min-width:44px;min-height:44px;font-size:23px;border:1px solid light-dark(#bdcadb,#60738e);border-radius:10px;background:transparent;color:inherit;position:relative}#crew-sim .badge{position:absolute;right:-5px;top:-5px;font-size:11px;padding:2px 5px;border-radius:15px;color:#fff;background:#b32134}#crew-sim nav{padding:8px 22px;background:light-dark(#fff,#1d2939);border-bottom:1px solid light-dark(#d8e0eb,#3b4b60)}#crew-sim nav button{display:block;width:100%;padding:13px 0;min-height:44px;background:transparent;color:inherit;border:0;text-align:left}#crew-sim main{padding:22px;min-height:300px}#crew-sim h2{font-size:24px;line-height:1.3;margin:0 0 18px;overflow-wrap:anywhere}#crew-sim h3{font-size:18px;margin:18px 0 12px}#crew-sim p{font-size:14px;line-height:1.6;margin:12px 0}#crew-sim .note{font-size:12px;color:light-dark(#53657a,#bac9dc);line-height:1.5}#crew-sim .action{display:block;width:100%;min-height:52px;padding:14px;margin:9px 0;border:1px solid light-dark(#bdcadb,#60738e);border-radius:12px;background:light-dark(#fff,#1d2939);color:inherit;font-weight:600;text-align:left}#crew-sim .primary{background:light-dark(#18344e,#dce9f8);color:light-dark(#fff,#172c42);border:0;text-align:center}#crew-sim .danger{background:#ad1f30;color:#fff;border:0}#crew-sim .green{background:light-dark(#147443,#75dca3);color:light-dark(#fff,#103b24);border:0;opacity:1}#crew-sim .box{padding:18px;border:1px solid light-dark(#d8e0eb,#3b4b60);border-radius:14px;background:light-dark(#fff,#1d2939);margin:16px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6}#crew-sim .critical{background:light-dark(#fce8eb,#42232d);border-color:light-dark(#be3348,#e98393)}#crew-sim .complete{background:light-dark(#e3f4e9,#193c2c);border-color:light-dark(#42825e,#74bb92)}#crew-sim .away{background:light-dark(#e0f2ff,#16394e);border-color:light-dark(#4084b1,#76b9df)}#crew-sim .pending{background:light-dark(#fff2d7,#42351e);border-color:light-dark(#a97616,#dcb36b)}#crew-sim label{display:block;font-size:14px;margin:16px 0 8px}#crew-sim input:not([type=checkbox]),#crew-sim textarea,#crew-sim select{box-sizing:border-box;width:100%;min-height:46px;padding:12px;background:light-dark(#fff,#1d2939);color:inherit;border:1px solid light-dark(#bdcadb,#60738e);border-radius:10px;font-size:16px}#crew-sim textarea{min-height:100px;resize:vertical}#crew-sim .check{display:flex;gap:12px;align-items:center;line-height:1.5}#crew-sim input[type=checkbox]{width:22px;height:22px;flex-shrink:0}#crew-sim .alarm-banner{background:#ad1f30;color:#fff;padding:22px 16px;text-align:center;border-radius:14px;margin-bottom:18px}#crew-sim .alarm-heading{position:relative;padding:0 36px;font-size:27px;font-weight:700;overflow-wrap:anywhere}#crew-sim .fire{position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:30px}#crew-sim .order{font-size:18px;font-weight:700;margin-top:12px}#crew-sim .selected{outline:3px solid light-dark(#182b40,#eef3fa);outline-offset:1px}#crew-sim .error{color:light-dark(#a51b2b,#ff9aa5)}#crew-sim footer{padding:16px 22px;text-align:center;font-size:12px;color:light-dark(#53657a,#bac9dc)}#crew-sim [hidden]{display:none!important}
#crew-sim .alarm-clock{display:block;font-size:13px;line-height:1.5;margin-top:9px;font-weight:400}
#crew-sim .action.active-event{padding:24px 20px;min-height:112px;font-size:21px;line-height:1.4;border:2px solid light-dark(#8e1726,#ff9aa5)}#crew-sim .action.active-event .alarm-clock{font-size:14px;margin-top:14px}#crew-sim .action.secondary-start{margin-top:22px;font-size:14px;min-height:46px;background:transparent;color:light-dark(#53657a,#bac9dc);border-color:light-dark(#bdcadb,#60738e);font-weight:400}
#crew-sim .action.pending-event{padding:22px 20px;min-height:112px;font-size:21px;line-height:1.4;border:2px solid light-dark(#be3348,#e98393)}#crew-sim .pending-hint{display:block;margin-top:14px;font-size:14px;font-weight:600}

:root{color-scheme:light dark}body{margin:0;background:light-dark(#eaf0f6,#101722);font-family:Arial,sans-serif}#crew-sim{padding-top:26px;max-width:650px;margin:auto}#crew-sim .phone{max-width:500px;box-shadow:0 16px 60px #00000012}#crew-sim .environment{max-width:500px;margin:0 auto 14px;font-size:12px;line-height:1.6;color:light-dark(#53657a,#bac9dc)}#crew-sim .session-strip{display:flex;justify-content:space-between;gap:12px;align-items:center;max-width:500px;margin:0 auto 14px;font-size:12px}#crew-sim .session-strip button{padding:8px 12px;border:1px solid light-dark(#bdcadb,#60738e);background:light-dark(#fff,#1d2939);color:inherit;border-radius:8px}#crew-sim .toast{max-width:500px;margin:0 auto 12px;padding:14px;box-sizing:border-box;border-radius:12px;background:light-dark(#fff2d7,#42351e);font-size:14px;line-height:1.5}#crew-sim .toast.error{background:light-dark(#fce8eb,#42232d)}#crew-sim .success-text{color:light-dark(#12663b,#8ce5b4)}#crew-sim .chat-item{padding:12px 0;border-bottom:1px solid light-dark(#d8e0eb,#3b4b60);white-space:pre-wrap}#crew-sim .role-chip{font-size:12px;font-weight:400;display:block;margin-bottom:6px}#crew-sim .outbox-body{font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}#crew-sim .access-row{padding:18px;border:1px solid light-dark(#d8e0eb,#3b4b60);border-radius:14px;margin:12px 0}#crew-sim button{cursor:pointer;touch-action:manipulation}#crew-sim button:disabled{cursor:default;opacity:.65}#crew-sim button.green:disabled{opacity:1}#crew-sim input:focus-visible,#crew-sim textarea:focus-visible,#crew-sim button:focus-visible,#crew-sim select:focus-visible{outline:3px solid light-dark(#427fa2,#8ac9f1);outline-offset:3px}#crew-sim .location-link{color:inherit}#crew-sim .alarm-banner.resolved{background:light-dark(#147443,#257346)}#crew-sim .sim-timer{font-variant-numeric:tabular-nums}@media(min-width:700px){#crew-sim main{padding:28px}#crew-sim{padding-bottom:40px}}@media(prefers-reduced-motion:no-preference){#crew-sim .action{transition:background-color .12s,border-color .12s}#crew-sim .action:active{transform:translateY(1px)}}

/* Identità dell'area: distinta dagli stati operativi di emergenza. */
#crew-sim .header-identity{display:flex;flex-direction:column;gap:8px}
#crew-sim .area-label{font-size:11px;letter-spacing:1.2px;font-weight:700;line-height:1.4;color:light-dark(#53657a,#bac9dc)}
#crew-sim[data-area="referent"] .phone{border-color:light-dark(#385f85,#527ea7)}
#crew-sim[data-area="referent"] header{background:light-dark(#173c60,#173753);color:#fff;padding-top:23px;padding-bottom:23px}
#crew-sim[data-area="referent"] header .brand{color:#fff}
#crew-sim[data-area="referent"] header .brand span{color:#ff9ca7}
#crew-sim[data-area="referent"] .area-label{color:#d2e8fb}
#crew-sim[data-area="referent"] header .menu{background:#ffffff0d;color:#fff;border-color:#9abbd5}
#crew-sim[data-area="referent"] nav{background:light-dark(#e6eef7,#1b3047);border-bottom-color:light-dark(#b8cde0,#456481)}
#crew-sim[data-area="referent"] .session-strip{color:light-dark(#173c60,#c3e2fb)}
#crew-sim[data-area="referent"] [data-screen="home"] h2{color:light-dark(#173c60,#c3e2fb)}
#crew-sim[data-area="referent"] .primary{background:light-dark(#244e76,#c4dff5);color:light-dark(#fff,#15334d)}

#crew-sim .header-identity{min-width:0;flex:1;padding-right:12px}#crew-sim .area-label{overflow-wrap:anywhere}#crew-sim header .menu{flex-shrink:0}

#crew-sim .photo-section{margin-bottom:24px}
#crew-sim .portrait-frame{display:flex;align-items:center;justify-content:center;background:light-dark(#e6edf5,#223449);border:1px solid light-dark(#bdcadb,#60738e);border-radius:16px;overflow:hidden}
#crew-sim .portrait-personal{width:160px;height:190px;margin:0 auto 16px}
#crew-sim .portrait-coordinator{width:100%;height:320px;margin:0 0 12px}
#crew-sim .portrait-expanded{width:100%;min-height:240px}
#crew-sim .portrait{display:block;width:100%;height:100%;object-fit:contain}
#crew-sim .portrait-expanded .portrait{height:auto;max-height:70vh;object-fit:contain}
#crew-sim .portrait-empty{display:flex;flex-direction:column;align-items:center;gap:16px;font-size:42px;color:light-dark(#53657a,#bac9dc);padding:20px;text-align:center}
#crew-sim .portrait-empty span{font-size:13px;line-height:1.5}

#crew-sim .portrait-coordinator.without-photo{height:100px}#crew-sim .portrait-coordinator.without-photo .portrait-empty{flex-direction:row;font-size:30px}

#crew-sim .local-event{background:light-dark(#e6eef7,#20364d);border-color:light-dark(#6f95b9,#6792b8);color:light-dark(#173c60,#d8ecff)}#crew-sim .local-progress{padding:6px 16px;border-left:3px solid light-dark(#487ba9,#88b9df);margin:18px 0}

#crew-sim[data-area="administrator"] header{background:light-dark(#4b365f,#392847);color:#fff;padding-top:23px;padding-bottom:23px}
#crew-sim[data-area="administrator"] header .brand{color:#fff}
#crew-sim[data-area="administrator"] header .brand span{color:#ffadbb}
#crew-sim[data-area="administrator"] .area-label{color:#eddff9}
#crew-sim[data-area="administrator"] header .menu{background:#ffffff0d;color:#fff;border-color:#c2a9d6}
#crew-sim[data-area="administrator"] .phone{border-color:light-dark(#7c6293,#806494)}
#crew-sim[data-area="administrator"] nav{background:light-dark(#eee7f4,#30233c)}
#crew-sim[data-area="administrator"] .primary{background:light-dark(#60467a,#ddc7ee);color:light-dark(#fff,#32213f)}
#crew-sim .report-summary{font-size:15px;line-height:1.7}
#crew-sim .supervision-label{display:block;font-size:12px;font-weight:400;margin-top:9px}

/* Navigazione sempre accessibile accanto al menu. */
#crew-sim .header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
#crew-sim .home-shortcut{min-height:44px;padding:0 10px;border:1px solid currentColor;border-radius:10px;background:transparent;color:inherit;font-size:14px;font-weight:600;cursor:pointer}
#crew-sim .home-shortcut:focus-visible{outline:3px solid currentColor;outline-offset:3px}

/* Registro leggibile come una conversazione, con azioni distinte dai messaggi. */
#crew-sim .audit-feed{display:flex;flex-direction:column;gap:14px;margin:18px 0}
#crew-sim .audit-item{box-sizing:border-box;padding:14px 16px;border:1px solid light-dark(#d8e0eb,#435369);border-radius:15px;min-width:0;overflow-wrap:anywhere;line-height:1.5;font-size:14px}
#crew-sim .audit-event{background:light-dark(#eaf0f6,#202e3e);margin:0 8px;border-left:3px solid light-dark(#718ca7,#9db6cf)}
#crew-sim .audit-message{align-self:flex-start;width:88%;background:light-dark(#fff,#1d2939);border-bottom-left-radius:4px}
#crew-sim .audit-own{align-self:flex-end;background:light-dark(#e3f3e9,#1a3c2d);border-color:light-dark(#a6cbb7,#50846a);border-bottom-left-radius:15px;border-bottom-right-radius:4px}
#crew-sim .audit-author{font-weight:700}
#crew-sim .audit-time{font-size:12px;color:light-dark(#53657a,#bac9dc);margin:2px 0 8px}
#crew-sim .audit-context{font-size:12px;color:light-dark(#53657a,#bac9dc);margin-bottom:8px}
#crew-sim .audit-action{font-weight:600}
#crew-sim .audit-body{white-space:pre-wrap;margin-top:6px}

#crew-sim nav button{display:flex;align-items:center;gap:12px;justify-content:space-between}
#crew-sim .nav-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:22px;height:22px;padding:0 5px;box-sizing:border-box;border-radius:999px;background:#b32134;color:#fff;font-size:12px;font-weight:700;line-height:1}

#crew-sim .report-details summary{cursor:pointer;padding:14px 0;font-size:14px;font-weight:600;min-height:44px;box-sizing:border-box}
#crew-sim #report-chat-panel{scroll-margin-top:16px}
#crew-sim .audit-author+.box{margin-top:6px}

#crew-sim .validity-panel{border:1px solid light-dark(#bdcadb,#60738e);border-radius:12px;padding:12px 14px;margin:18px 0;min-width:0}
#crew-sim .validity-panel legend{font-size:14px;font-weight:600;padding:0 5px}

#crew-sim #profile-job[readonly]{background:light-dark(#edf6f0,#1b3026);border-color:light-dark(#72a18a,#7ab394)}

#crew-sim .registration-row{padding:14px;border:1px solid light-dark(#bdcadb,#60738e);border-radius:12px;margin:12px 0;background:light-dark(#fff,#1d2939)}
#crew-sim .registration-row.complete{background:light-dark(#e3f4e9,#193c2c)}
#crew-sim .registration-row.critical{background:light-dark(#fce8eb,#42232d)}
#crew-sim .registration-state{font-size:13px;margin:6px 0}
#crew-sim .registration-actions{display:flex;gap:6px;flex-wrap:wrap}
#crew-sim .registration-actions .action{flex:1;min-width:90px;min-height:44px;padding:9px 5px;margin:4px 0;font-size:12px;text-align:center;line-height:1.3}
#crew-sim .registration-editor{border-top:1px solid light-dark(#bdcadb,#60738e);margin-top:12px;padding-top:8px}

#crew-sim .registration-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
#crew-sim .registration-actions .action{min-width:0}

/* Controlli sempre raggiungibili su schermi piccoli. */
#crew-sim .phone{overflow:clip}
#crew-sim header{position:sticky;top:0;z-index:20}
#crew-sim .update-notice,#crew-sim .connection-status{max-width:500px;margin:0 auto 12px;padding:12px 14px;box-sizing:border-box;border:1px solid light-dark(#a97616,#dcb36b);border-radius:12px;background:light-dark(#fff2d7,#42351e);font-size:13px;line-height:1.5}
#crew-sim .update-notice button{display:block;min-height:44px;margin-top:8px;padding:8px 12px;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;font:inherit;font-weight:600}
#crew-sim[aria-busy=true] button{cursor:progress}
#crew-sim input,#crew-sim textarea,#crew-sim select{max-width:100%}
#crew-sim input[type=datetime-local]{min-width:0}
#crew-sim summary{cursor:pointer;overflow-wrap:anywhere}
#crew-sim .session-strip span{min-width:0;overflow-wrap:anywhere;padding-right:12px}
#crew-sim .session-strip button{flex-shrink:0;min-height:44px}
@media(max-width:380px){#crew-sim header{padding-left:16px;padding-right:16px}#crew-sim .area-label{letter-spacing:.5px}#crew-sim main{padding:18px 16px}#crew-sim h2{font-size:22px}}

#crew-sim .action{box-sizing:border-box;overflow-wrap:anywhere}
#crew-sim a.action{text-decoration:none}
#crew-sim .registration-row{overflow-wrap:anywhere}
#crew-sim nav{position:sticky;top:var(--app-header-height,110px);z-index:19;max-height:calc(100dvh - var(--app-header-height,110px));overflow:auto;box-sizing:border-box}

#crew-sim .check{min-height:44px}

.urgent-chat{position:sticky;top:var(--app-header-height,96px);z-index:15;background:#fff1cb;border:3px solid #9d5200;border-radius:12px;padding:14px;margin:12px;box-shadow:0 4px 16px #132e4926;max-height:48vh;overflow:auto;overflow-wrap:anywhere}.urgent-chat strong{font-size:1.15rem}.urgent-chat p{white-space:pre-wrap;margin:8px 0}.urgent-chat .action{margin-bottom:4px}#urgent-chat-text{font-weight:600}
