From 782a09fa524f93552c55b88bc95597490fcae96d Mon Sep 17 00:00:00 2001 From: gabriel-IPTI Date: Wed, 6 Sep 2023 12:20:00 -0300 Subject: [PATCH 001/570] first commit --- app/config/main.php | 3 +- app/modules/foods/FoodsModule.php | 29 +++++++++++++++++++ .../foods/controllers/DefaultController.php | 9 ++++++ app/modules/foods/views/default/index.php | 17 +++++++++++ docker-compose.yml | 1 + 5 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 app/modules/foods/FoodsModule.php create mode 100644 app/modules/foods/controllers/DefaultController.php create mode 100644 app/modules/foods/views/default/index.php diff --git a/app/config/main.php b/app/config/main.php index e896b9084..93f427284 100755 --- a/app/config/main.php +++ b/app/config/main.php @@ -73,7 +73,8 @@ 'professional', 'sedsp', 'classdiary', - 'curricularcomponents' + 'curricularcomponents', + 'foods' ), // application components 'components' => array( diff --git a/app/modules/foods/FoodsModule.php b/app/modules/foods/FoodsModule.php new file mode 100644 index 000000000..4a67b5602 --- /dev/null +++ b/app/modules/foods/FoodsModule.php @@ -0,0 +1,29 @@ +setImport(array( + 'foods.models.*', + 'foods.components.*', + )); + } + + public function beforeControllerAction($controller, $action) + { + $controller->layout = 'webroot.themes.default.views.layouts.fullmenu'; + if(parent::beforeControllerAction($controller, $action)) + { + // this method is called before any module controller action is performed + // you may place customized code here + return true; + } + else + return false; + } +} diff --git a/app/modules/foods/controllers/DefaultController.php b/app/modules/foods/controllers/DefaultController.php new file mode 100644 index 000000000..957551e5a --- /dev/null +++ b/app/modules/foods/controllers/DefaultController.php @@ -0,0 +1,9 @@ +render('index'); + } +} \ No newline at end of file diff --git a/app/modules/foods/views/default/index.php b/app/modules/foods/views/default/index.php new file mode 100644 index 000000000..21afc96c2 --- /dev/null +++ b/app/modules/foods/views/default/index.php @@ -0,0 +1,17 @@ +breadcrumbs=array( + $this->module->id, +); +?> +

uniqueId . '/' . $this->action->id; ?>

+ +

+This is the view content for action "action->id; ?>". +The action belongs to the controller "" +in the "module->id; ?>" module. +

+

+You may customize this page by editing +

\ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 07c9be35d..1542b9b22 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,6 +13,7 @@ services: HOST_DB_TAG: 'mysql' USER_DB_TAG: 'root' PWD_DB_TAG: 'root' + TAG_ALIMENTOS: true YII_DEBUG: false XDEBUG_CONFIG: remote_host=172.24.112.1 # wsl network ip PHP_IDE_CONFIG: "serverName=xdebug-docker" From cd5e9c196ccae1a3e104d88a4beae0e87790ad20 Mon Sep 17 00:00:00 2001 From: gabriel-IPTI Date: Mon, 11 Sep 2023 12:13:32 -0300 Subject: [PATCH 002/570] =?UTF-8?q?criado=20formul=C3=A1rio=20de=20card?= =?UTF-8?q?=C3=A1pio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/FoodMenuController.php | 173 ++++++++++++++++++ .../foods/controllers/FoodMenuController.php | 173 ++++++++++++++++++ app/modules/foods/messages/pt_br/index.php | 8 + app/modules/foods/models/FoodMenu.php | 113 ++++++++++++ app/modules/foods/views/default/index.php | 37 +++- app/modules/foods/views/foodMenu/_form.php | 59 ++++++ app/modules/foods/views/foodMenu/create.php | 22 +++ app/modules/foods/views/foodMenu/index.php | 20 ++ app/modules/foods/views/foodMenu/update.php | 21 +++ sass/css/main.css | 2 +- sass/scss/_grid.scss | 5 + 11 files changed, 623 insertions(+), 10 deletions(-) create mode 100644 app/controllers/FoodMenuController.php create mode 100644 app/modules/foods/controllers/FoodMenuController.php create mode 100644 app/modules/foods/messages/pt_br/index.php create mode 100644 app/modules/foods/models/FoodMenu.php create mode 100644 app/modules/foods/views/foodMenu/_form.php create mode 100644 app/modules/foods/views/foodMenu/create.php create mode 100644 app/modules/foods/views/foodMenu/index.php create mode 100644 app/modules/foods/views/foodMenu/update.php diff --git a/app/controllers/FoodMenuController.php b/app/controllers/FoodMenuController.php new file mode 100644 index 000000000..21c3cd44f --- /dev/null +++ b/app/controllers/FoodMenuController.php @@ -0,0 +1,173 @@ +array('index','view'), + 'users'=>array('*'), + ), + array('allow', // allow authenticated user to perform 'create' and 'update' actions + 'actions'=>array('create','update'), + 'users'=>array('@'), + ), + array('allow', // allow admin user to perform 'admin' and 'delete' actions + 'actions'=>array('admin','delete'), + 'users'=>array('admin'), + ), + array('deny', // deny all users + 'users'=>array('*'), + ), + ); + } + + /** + * Displays a particular model. + * @param integer $id the ID of the model to be displayed + */ + public function actionView($id) + { + $this->render('view',array( + 'model'=>$this->loadModel($id), + )); + } + + /** + * Creates a new model. + * If creation is successful, the browser will be redirected to the 'view' page. + */ + public function actionCreate() + { + $model=new FoodMenu; + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if(isset($_POST['FoodMenu'])) + { + $model->attributes=$_POST['FoodMenu']; + if($model->save()) + $this->redirect(array('view','id'=>$model->id)); + } + + $this->render('create',array( + 'model'=>$model, + )); + } + + /** + * Updates a particular model. + * If update is successful, the browser will be redirected to the 'view' page. + * @param integer $id the ID of the model to be updated + */ + public function actionUpdate($id) + { + $model=$this->loadModel($id); + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if(isset($_POST['FoodMenu'])) + { + $model->attributes=$_POST['FoodMenu']; + if($model->save()) + $this->redirect(array('view','id'=>$model->id)); + } + + $this->render('update',array( + 'model'=>$model, + )); + } + + /** + * Deletes a particular model. + * If deletion is successful, the browser will be redirected to the 'admin' page. + * @param integer $id the ID of the model to be deleted + */ + public function actionDelete($id) + { + $this->loadModel($id)->delete(); + + // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser + if(!isset($_GET['ajax'])) + $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin')); + } + + /** + * Lists all models. + */ + public function actionIndex() + { + $dataProvider=new CActiveDataProvider('FoodMenu'); + $this->render('index',array( + 'dataProvider'=>$dataProvider, + )); + } + + /** + * Manages all models. + */ + public function actionAdmin() + { + $model=new FoodMenu('search'); + $model->unsetAttributes(); // clear any default values + if(isset($_GET['FoodMenu'])) + $model->attributes=$_GET['FoodMenu']; + + $this->render('admin',array( + 'model'=>$model, + )); + } + + /** + * Returns the data model based on the primary key given in the GET variable. + * If the data model is not found, an HTTP exception will be raised. + * @param integer $id the ID of the model to be loaded + * @return FoodMenu the loaded model + * @throws CHttpException + */ + public function loadModel($id) + { + $model=FoodMenu::model()->findByPk($id); + if($model===null) + throw new CHttpException(404,'The requested page does not exist.'); + return $model; + } + + /** + * Performs the AJAX validation. + * @param FoodMenu $model the model to be validated + */ + protected function performAjaxValidation($model) + { + if(isset($_POST['ajax']) && $_POST['ajax']==='food-menu-form') + { + echo CActiveForm::validate($model); + Yii::app()->end(); + } + } +} diff --git a/app/modules/foods/controllers/FoodMenuController.php b/app/modules/foods/controllers/FoodMenuController.php new file mode 100644 index 000000000..21c3cd44f --- /dev/null +++ b/app/modules/foods/controllers/FoodMenuController.php @@ -0,0 +1,173 @@ +array('index','view'), + 'users'=>array('*'), + ), + array('allow', // allow authenticated user to perform 'create' and 'update' actions + 'actions'=>array('create','update'), + 'users'=>array('@'), + ), + array('allow', // allow admin user to perform 'admin' and 'delete' actions + 'actions'=>array('admin','delete'), + 'users'=>array('admin'), + ), + array('deny', // deny all users + 'users'=>array('*'), + ), + ); + } + + /** + * Displays a particular model. + * @param integer $id the ID of the model to be displayed + */ + public function actionView($id) + { + $this->render('view',array( + 'model'=>$this->loadModel($id), + )); + } + + /** + * Creates a new model. + * If creation is successful, the browser will be redirected to the 'view' page. + */ + public function actionCreate() + { + $model=new FoodMenu; + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if(isset($_POST['FoodMenu'])) + { + $model->attributes=$_POST['FoodMenu']; + if($model->save()) + $this->redirect(array('view','id'=>$model->id)); + } + + $this->render('create',array( + 'model'=>$model, + )); + } + + /** + * Updates a particular model. + * If update is successful, the browser will be redirected to the 'view' page. + * @param integer $id the ID of the model to be updated + */ + public function actionUpdate($id) + { + $model=$this->loadModel($id); + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if(isset($_POST['FoodMenu'])) + { + $model->attributes=$_POST['FoodMenu']; + if($model->save()) + $this->redirect(array('view','id'=>$model->id)); + } + + $this->render('update',array( + 'model'=>$model, + )); + } + + /** + * Deletes a particular model. + * If deletion is successful, the browser will be redirected to the 'admin' page. + * @param integer $id the ID of the model to be deleted + */ + public function actionDelete($id) + { + $this->loadModel($id)->delete(); + + // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser + if(!isset($_GET['ajax'])) + $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin')); + } + + /** + * Lists all models. + */ + public function actionIndex() + { + $dataProvider=new CActiveDataProvider('FoodMenu'); + $this->render('index',array( + 'dataProvider'=>$dataProvider, + )); + } + + /** + * Manages all models. + */ + public function actionAdmin() + { + $model=new FoodMenu('search'); + $model->unsetAttributes(); // clear any default values + if(isset($_GET['FoodMenu'])) + $model->attributes=$_GET['FoodMenu']; + + $this->render('admin',array( + 'model'=>$model, + )); + } + + /** + * Returns the data model based on the primary key given in the GET variable. + * If the data model is not found, an HTTP exception will be raised. + * @param integer $id the ID of the model to be loaded + * @return FoodMenu the loaded model + * @throws CHttpException + */ + public function loadModel($id) + { + $model=FoodMenu::model()->findByPk($id); + if($model===null) + throw new CHttpException(404,'The requested page does not exist.'); + return $model; + } + + /** + * Performs the AJAX validation. + * @param FoodMenu $model the model to be validated + */ + protected function performAjaxValidation($model) + { + if(isset($_POST['ajax']) && $_POST['ajax']==='food-menu-form') + { + echo CActiveForm::validate($model); + Yii::app()->end(); + } + } +} diff --git a/app/modules/foods/messages/pt_br/index.php b/app/modules/foods/messages/pt_br/index.php new file mode 100644 index 000000000..5f43c6098 --- /dev/null +++ b/app/modules/foods/messages/pt_br/index.php @@ -0,0 +1,8 @@ + 'Nome', + 'observation' => 'Observação', + 'start_date' => 'Data inicial', + 'final_date' =>'Data Final', + 'stage_fk' => 'Publico', +]; diff --git a/app/modules/foods/models/FoodMenu.php b/app/modules/foods/models/FoodMenu.php new file mode 100644 index 000000000..9e1ef2bce --- /dev/null +++ b/app/modules/foods/models/FoodMenu.php @@ -0,0 +1,113 @@ +true), + array('description, observation', 'length', 'max'=>100), + // The following rule is used by search(). + // @todo Please remove those attributes that should not be searched. + array('id, description, observation, start_date, final_date, stage_fk', 'safe', 'on'=>'search'), + ); + } + + /** + * @return array relational rules. + */ + public function relations() + { + // NOTE: you may need to adjust the relation name and the related + // class name for the relations automatically generated below. + return array( + 'stageFk' => array(self::BELONGS_TO, 'EdcensoStageVsModality', 'stage_fk'), + 'foodMenuMeals' => array(self::HAS_MANY, 'FoodMenuMeal', 'food_menuId'), + ); + } + + /** + * @return array customized attribute labels (name=>label) + */ + public function attributeLabels() + { + return array( + 'id' => 'ID', + 'description' => 'Nome', + 'observation' => 'Observação', + 'start_date' => 'Data inicial', + 'final_date' =>'Data Final', + 'stage_fk' => 'Publico', + ); + } + + /** + * Retrieves a list of models based on the current search/filter conditions. + * + * Typical usecase: + * - Initialize the model fields with values from filter form. + * - Execute this method to get CActiveDataProvider instance which will filter + * models according to data in model fields. + * - Pass data provider to CGridView, CListView or any similar widget. + * + * @return CActiveDataProvider the data provider that can return the models + * based on the search/filter conditions. + */ + public function search() + { + // @todo Please modify the following code to remove attributes that should not be searched. + + $criteria=new CDbCriteria; + + $criteria->compare('id',$this->id); + $criteria->compare('description',$this->description,true); + $criteria->compare('observation',$this->observation,true); + $criteria->compare('start_date',$this->start_date,true); + $criteria->compare('final_date',$this->final_date,true); + $criteria->compare('stage_fk',$this->stage_fk); + + return new CActiveDataProvider($this, array( + 'criteria'=>$criteria, + )); + } + + /** + * Returns the static model of the specified AR class. + * Please note that you should have this exact method in all your CActiveRecord descendants! + * @param string $className active record class name. + * @return FoodMenu the static model class + */ + public static function model($className=__CLASS__) + { + return parent::model($className); + } +} diff --git a/app/modules/foods/views/default/index.php b/app/modules/foods/views/default/index.php index 21afc96c2..4b2fae2a6 100644 --- a/app/modules/foods/views/default/index.php +++ b/app/modules/foods/views/default/index.php @@ -5,13 +5,32 @@ $this->module->id, ); ?> -

uniqueId . '/' . $this->action->id; ?>

+
+
+

Merenda

+
-

-This is the view content for action "action->id; ?>". -The action belongs to the controller "" -in the "module->id; ?>" module. -

-

-You may customize this page by editing -

\ No newline at end of file + + +
+
+
+ Mostrar turnos +
+
+ + 'Manhã', + '1' => 'Tarde', + '2' => 'Noite' + ], + array('multiple' => 'multiple', + 'class' => 'select-search-on t-multiselect multiselect')); ?> +
+
+
+
diff --git a/app/modules/foods/views/foodMenu/_form.php b/app/modules/foods/views/foodMenu/_form.php new file mode 100644 index 000000000..113a0c959 --- /dev/null +++ b/app/modules/foods/views/foodMenu/_form.php @@ -0,0 +1,59 @@ + + +
+ +beginWidget('CActiveForm', array( + 'id'=>'food-menu-form', + // Please note: When you enable ajax validation, make sure the corresponding + // controller action is handling ajax validation correctly. + // There is a call to performAjaxValidation() commented in generated controller code. + // See class documentation of CActiveForm for details on this. + 'enableAjaxValidation'=>false, +)); ?> + +
+
+
+ labelEx($model, 'description', array('class' => 't-field-text__label')); ?> + textField($model,'description', array('class'=>'t-field-text__input')); ?> + error($model,'description'); ?> +
+
+ labelEx($model,'stage_fk', array('class' => 't-field-select__label')); ?> + dropDownList($model, 'stage_fk',[], array( 'class' => 'select-search-on t-field-select__input')); ?> + error($model,'stage_fk'); ?> +
+
+
+
+ labelEx($model,'start_date', array('class' => 't-field-text__label')); ?> + textField($model,'start_date', array('class'=>'t-field-text__input')); ?> + error($model,'start_date'); ?> +
+
+ labelEx($model,'final_date', array('class' => 't-field-text__label')); ?> + textField($model,'final_date', array('class'=>'t-field-text__input')); ?> + error($model,'final_date'); ?> +
+
+
+
+ labelEx($model,'observation', array('class' => 't-field-select__label')); ?> + textField($model,'observation', array('class'=>'t-field-select__input')); ?> + error($model,'observation'); ?> +
+
+
+
+ errorSummary($model); ?> +
+ isNewRecord ? 'Create' : 'Save'); ?> +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/app/modules/foods/views/foodMenu/create.php b/app/modules/foods/views/foodMenu/create.php new file mode 100644 index 000000000..f2a7f4c72 --- /dev/null +++ b/app/modules/foods/views/foodMenu/create.php @@ -0,0 +1,22 @@ +breadcrumbs=array( + 'Food Menus'=>array('index'), + 'Create', +); + +$this->menu=array( + array('label'=>'List FoodMenu', 'url'=>array('index')), + array('label'=>'Manage FoodMenu', 'url'=>array('admin')), +); +?> +
+
+

Create FoodMenu

+
+
+ + +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/app/modules/foods/views/foodMenu/index.php b/app/modules/foods/views/foodMenu/index.php new file mode 100644 index 000000000..017c150ce --- /dev/null +++ b/app/modules/foods/views/foodMenu/index.php @@ -0,0 +1,20 @@ +breadcrumbs=array( + 'Food Menus', +); + +$this->menu=array( + array('label'=>'Create FoodMenu', 'url'=>array('create')), + array('label'=>'Manage FoodMenu', 'url'=>array('admin')), +); +?> + +

Food Menus

+ +widget('zii.widgets.CListView', array( + 'dataProvider'=>$dataProvider, + 'itemView'=>'_view', +)); ?> diff --git a/app/modules/foods/views/foodMenu/update.php b/app/modules/foods/views/foodMenu/update.php new file mode 100644 index 000000000..7c3e5d482 --- /dev/null +++ b/app/modules/foods/views/foodMenu/update.php @@ -0,0 +1,21 @@ +breadcrumbs=array( + 'Food Menus'=>array('index'), + $model->id=>array('view','id'=>$model->id), + 'Update', +); + +$this->menu=array( + array('label'=>'List FoodMenu', 'url'=>array('index')), + array('label'=>'Create FoodMenu', 'url'=>array('create')), + array('label'=>'View FoodMenu', 'url'=>array('view', 'id'=>$model->id)), + array('label'=>'Manage FoodMenu', 'url'=>array('admin')), +); +?> + +

Update FoodMenu id; ?>

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/sass/css/main.css b/sass/css/main.css index 1ea0d78dd..9c1a8ac7f 100644 --- a/sass/css/main.css +++ b/sass/css/main.css @@ -1 +1 @@ -@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap");*,body,html{font-family:'inter', sans-serif}.main{padding:.75em}@media (min-width: 640px){.main{padding:1.5em}}a{color:inherit}a:hover{text-decoration:none}hr{margin:0;border:none}select[multiple]{height:30px}input[type="number"]{margin:0px}select,select[multiple],textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"]{min-height:30px}.row{display:flex;flex-direction:column}.row.reverse{flex-direction:column-reverse}@media (min-width: 640px){.row.reverse{flex-direction:row}}@media (min-width: 640px){.row{flex-direction:row}}.mobile-row{display:flex;flex-direction:row}.mobile-row.helper{padding-left:13px}.tablet-row{display:flex;flex-direction:column}@media (min-width: 768px){.tablet-row{flex-direction:row}}.column{flex:1;flex-basis:0;margin-left:1em;margin-right:1em}.column.flex{display:flex}.column.clearfix{margin-left:0;margin-right:0}.column.clearleft{margin-left:0}.column.clearleft--on-tablet{margin-left:0}@media (min-width: 768px){.column.clearleft--on-tablet{margin-left:1em}}.column.clearleft--on-mobile{margin-left:0}@media (min-width: 640px){.column.clearleft--on-mobile{margin-left:1em}}.column.no-grow{flex-grow:0}.column.helper{max-width:50%}@media (min-width: 640px){.column.is-half{max-width:50%}}@media (min-width: 640px){.column.is-four-fifths{max-width:80%}}.column.is-four-fifths--mobile{max-width:80%}@media (min-width: 640px){.column.is-three-quarters{max-width:75%}}@media (min-width: 640px){.column.is-two-thirds{max-width:66.6666%}}@media (min-width: 640px){.column.is-three-fifths{max-width:60%}}@media (min-width: 640px){.column.is-two-fifths{max-width:40%}}@media (min-width: 640px){.column.is-one-third{max-width:33.3333%}}@media (min-width: 640px){.column.is-one-quarter{max-width:25%}}@media (min-width: 640px){.column.is-one-fifth{max-width:20%}}@media (min-width: 640px){.column.is-one-tenth{max-width:10%}}.column.is-one-tenth--mobile{max-width:10%}.t-buttons-container{display:inline-block;width:100%}.t-buttons-container.auto-width{width:auto}@media (min-width: 768px){.t-buttons-container{padding:.25em 0 .25em 0;font-size:14px;display:flex}}.t-button,.t-button-primary,.t-button-submit,.t-button-secondary,.t-button-tertiary,.t-button-danger,.t-button-icon{display:flex;flex:1;padding:.875em;margin:.5em 0;font-size:12px;border-radius:6px;text-decoration:none;align-self:center;justify-content:center;cursor:pointer}.t-button span,.t-button-primary span,.t-button-submit span,.t-button-secondary span,.t-button-tertiary span,.t-button-danger span,.t-button-icon span{margin:0em .25em 0em 0em;font-size:14px}.t-button:hover,.t-button-primary:hover,.t-button-submit:hover,.t-button-secondary:hover,.t-button-tertiary:hover,.t-button-danger:hover,.t-button-icon:hover,.t-button--active{text-decoration:none}@media (min-width: 640px){.t-button,.t-button-primary,.t-button-submit,.t-button-secondary,.t-button-tertiary,.t-button-danger,.t-button-icon{flex:0 auto;margin-right:1em;padding:.25em 1em .25em 1em;font-size:14px}}@media (min-width: 768px){.t-button,.t-button-primary,.t-button-submit,.t-button-secondary,.t-button-tertiary,.t-button-danger,.t-button-icon{flex:0 auto;margin-right:1em;padding:.25em 1em .25em 1em;font-size:14px}}@media (min-width: 1536px){.t-button,.t-button-primary,.t-button-submit,.t-button-secondary,.t-button-tertiary,.t-button-danger,.t-button-icon{margin-right:1em;padding:.375em 1em .375em 1em}}.t-button:link,.t-button-primary:link,.t-button-submit:link,.t-button-secondary:link,.t-button-tertiary:link,.t-button-danger:link,.t-button-icon:link,.t-button:focus,.t-button-primary:focus,.t-button-submit:focus,.t-button-secondary:focus,.t-button-tertiary:focus,.t-button-danger:focus,.t-button-icon:focus,.t-button:hover,.t-button-primary:hover,.t-button-submit:hover,.t-button-secondary:hover,.t-button-tertiary:hover,.t-button-danger:hover,.t-button-icon:hover,.t-button--active,.t-button:active,.t-button-primary:active,.t-button-submit:active,.t-button-secondary:active,.t-button-tertiary:active,.t-button-danger:active,.t-button-icon:active{text-decoration:none !important}.t-button img,.t-button-primary img,.t-button-submit img,.t-button-secondary img,.t-button-tertiary img,.t-button-danger img,.t-button-icon img{margin-right:6px}.t-button i,.t-button-primary i,.t-button-submit i,.t-button-secondary i,.t-button-tertiary i,.t-button-danger i,.t-button-icon i{align-self:center;margin-right:6px;opacity:0.5}.t-button-primary,.t-button-submit{background-color:#3f45ea;color:#fff;cursor:pointer;align-self:center}.t-button-primary--icon{flex:0;padding:.75em 2em}.t-button-primary:hover,.t-button-submit:hover,.t-button-primary--active{color:#fff;background-color:#272B96}.t-button-primary:link,.t-button-submit:link,.t-button-primary:focus,.t-button-submit:focus,.t-button-primary:hover,.t-button-submit:hover,.t-button-primary--active,.t-button-primary:active,.t-button-submit:active{color:#fff}.t-button-secondary{background-color:#eff2f5;color:#252A31;border:0}.t-button-secondary:hover,.t-button-secondary--active,.t-button-secondary:focus{color:#252A31;background-color:#e5eaef}.t-button-tertiary{background-color:#94a8be;color:#fff}.t-button-tertiary:hover,.t-button-tertiary--active{color:#fff;background-color:#5F738C}.t-button-submit{margin:14px 0}.t-button-danger{color:#fff;background-color:#D21C1C}.t-button-danger--disabled{background-color:#eff2f5;color:#94a8be;cursor:not-allowed !important}.t-button-danger:hover{color:#fff}.t-button-danger--disabled:hover{color:#94a8be}.t-button-icon.secondary{padding:.375em 1.5em .375em 1.5em;background-color:#3f45ea;color:#fff;cursor:pointer;align-self:center;font-size:16px !important}.t-button-icon.secondary:hover,.t-button-icon.secondary--active{color:#fff;background-color:#272B96}.t-button-icon.secondary:link,.t-button-icon.secondary:focus,.t-button-icon.secondary:hover,.t-button-icon.secondary--active,.t-button-icon.secondary:active{color:#fff}.t-button-icon.secondary span{font-size:16px !important}.t-field-text{margin-bottom:14px}.t-field-text__label{display:flex;align-items:center}.t-field-text__label--required{font-weight:bold}.t-field-text__input,.t-field-text input[type="text"],.t-field-text input[type="number"]{box-sizing:border-box;width:100%;margin-bottom:0px;resize:none}.t-field-select,.t-multiselect{width:100%;margin-bottom:14px}.t-field-select__label--required{font-weight:bold}.t-field-select__input.select2-container{width:100% !important}.t-field-select__input.select2-container .select2-choice{width:100%;box-sizing:border-box;word-wrap:break-word;text-overflow:ellipsis}.t-field-select__helper{max-width:50% !important}.t-field-select__helper2{max-width:65% !important}.t-field-tarea{margin-bottom:24px}.t-field-tarea__label--required{font-weight:bold}.t-field-tarea__input,.t-field-tarea textarea{width:100%;padding:4px;box-sizing:border-box}.t-field-tarea__input.large,.t-field-tarea textarea.large{height:100%;min-height:100px;max-height:100px}.t-field-checkbox{display:flex;white-space:normal;line-height:12px;width:100%;margin-top:4px;margin-bottom:8px}.t-field-checkbox__label{padding-top:0 !important}.t-field-checkbox__label--required{font-weight:bold}.t-field-checkbox__input,.t-field-checkbox input[type="checkbox"]{background:#fff;height:20px;width:20px;margin:0 14px 0 0 !important}.t-field-checkbox.helper{margin-top:31px;margin-bottom:10px;margin-left:-18px}.t-field-checkbox-group{margin-bottom:6px;margin-top:6px}.t-field-checkbox-group .t-field-checkbox{margin-top:4px;margin-bottom:8px}.t-field-number{margin-bottom:14px}.t-field-number__label{display:flex;align-items:center}.t-field-number__label--required{font-weight:bold}.t-field-number__input,.t-field-number input[type="number"]{width:100%;margin-bottom:0px;padding:.75em}.t-field-select,.t-multiselect{width:100%;margin-bottom:14px}.t-field-select__label--required{font-weight:bold}.t-field-select__input.select2-container{width:100% !important}.t-field-select__input.select2-container .select2-choice{width:100%;box-sizing:border-box;word-wrap:break-word;text-overflow:ellipsis}.t-field-select__helper{max-width:50% !important}.t-field-select__helper2{max-width:65% !important}.t-multiselect{margin-top:14px}.t-multiselect .select2-search-choice{background-color:#B4DBF8 !important;border:none !important;font-size:14px !important;font-weight:500 !important;color:#004680;padding:.375em .5em !important;background-image:none !important;word-wrap:break-word}.t-multiselect .select2-search-choice div{margin-left:24px}.t-multiselect .select2-search-choice .select2-search-choice-close{background-image:url("../../../themes/default/img/botao-cancelar-multiselect.svg") !important;width:14px !important;height:14px !important;background-position:unset !important}.t-multiselect .select2-choices{overflow:auto !important;max-height:42px;width:100% !important}.t-multiselect .select3-choices{min-width:200px;max-height:57px;width:100% !important;word-wrap:break-word;text-overflow:ellipsis}@media (min-width: 768px){.t-multiselect .select3-choices{max-height:60px}}@media (min-width: 640px){.t-multiselect .select3-choices{max-height:60px}}.t-field-section{margin-top:24px}.t-tabs{display:flex;list-style:none;margin:0em 0em 0em 0em;padding:0em 0em 0em 0em;overflow-x:scroll;overflow-y:hidden;-ms-overflow-style:none;scrollbar-width:none}@media (min-width: 768px){.t-tabs{padding:.75em 1em .75em 1em;margin:0em 1em 0em 0em;overflow-x:hidden}}@media (min-width: 1536px){.t-tabs{padding:.375em;margin:0em 1em 0em 0em;overflow-x:hidden}}.t-tabs .t-tabs__list{display:flex;list-style:none;padding:0em;margin:0em}.t-tabs .t-tabs__list .t-tabs__item{display:inline-flex;white-space:nowrap;padding:0em;margin:0em;text-align:center}.t-tabs .t-tabs__list .t-tabs__item.active{font-weight:700;text-decoration:none}.t-tabs .t-tabs__list .t-tabs__item.active .t-tabs__link{display:flex;align-items:center;color:#2e33b7}.t-tabs .t-tabs__list .t-tabs__item.active .t-tabs__link .t-tabs__numeration{display:flex;justify-content:center;align-items:center;margin-right:8px;width:24px;height:24px;border-radius:100%;background-color:#2e33b7;color:#fff}.t-tabs .t-tabs__list .t-tabs__item a{text-decoration:none}.t-tabs .t-tabs__list .t-tabs__item .t-tabs__link{font-size:14px;height:auto;color:#52647a;padding:.875em;display:flex;align-items:center}@media (min-width: 768px){.t-tabs .t-tabs__list .t-tabs__item .t-tabs__link{padding:.25em 1em .25em 1em}}@media (min-width: 1536px){.t-tabs .t-tabs__list .t-tabs__item .t-tabs__link{padding:.375em 1em .375em 1em}}.t-tabs .t-tabs__list .t-tabs__item .t-tabs__link .t-tabs__numeration{display:flex;justify-content:center;align-items:center;margin-right:8px;width:24px;height:24px;border-radius:100%;background-color:#d6dee6;color:#5F738C}.t-tabs::-webkit-scrollbar{display:none}.tag-table,.tag-table-primary,.tag-table-secondary{border-collapse:initial;margin-top:16px;width:100%}.tag-table td,.tag-table-primary td,.tag-table-secondary td{background:#fff;padding:1em}.tag-table td .t-icon,.tag-table-primary td .t-icon,.tag-table-secondary td .t-icon{color:#5F738C;font-size:16px;cursor:pointer;margin-right:14px}.tag-table thead tr th:first-child,.tag-table-primary thead tr th:first-child,.tag-table-secondary thead tr th:first-child{border-radius:3px 0 0 3px}.tag-table thead tr th:last-child,.tag-table-primary thead tr th:last-child,.tag-table-secondary thead tr th:last-child{border-radius:0 3px 3px 0}.tag-table tbody,.tag-table-primary tbody,.tag-table-secondary tbody{--dt-row-selected: $colorsBaseProductLightActive;--dt-row-selected-text: var(--dt-row-selected);--dt-row-selected-link: var(--dt-row-selected)}.tag-table tbody .selected,.tag-table-primary tbody .selected,.tag-table-secondary tbody .selected{background-color:#EAEAF8}.tag-table tbody tr,.tag-table-primary tbody tr,.tag-table-secondary tbody tr{border-bottom:2.5px solid white}.tag-table tbody td,.tag-table-primary tbody td,.tag-table-secondary tbody td{font-family:"Inter",sans-serif;font-size:14px;padding:4px}.tag-table tbody td:first-child,.tag-table-primary tbody td:first-child,.tag-table-secondary tbody td:first-child{border-radius:3px 0 0 3px}.tag-table tbody td:last-child,.tag-table-primary tbody td:last-child,.tag-table-secondary tbody td:last-child{border-radius:0 3px 3px 0}.tag-table-primary thead tr th{font-weight:500;color:#fff;background-color:#18204e;padding:8px;line-height:normal}.tag-table-primary tbody tr:nth-child(2n+1) td{background-color:#EAEAF8}.tag-table-primary tbody tr:nth-child(2n) td{background-color:#F5F7F9}.tag-table-primary td a{color:#272B96}.tag-table-secondary{border-collapse:collapse}.tag-table-secondary thead tr th{font-weight:bold;color:#5F738C;background-color:#e8edf1;padding:8px;line-height:normal}.tag-table-secondary tbody tr{border-radius:none;border-bottom:.5px solid #e8edf1}.grid-view{padding-top:.875em}.grid-view .summary{display:none}.grid-view .dataTables_filter{margin:10px}.grid-view .dataTables_filter input[type="search"]{margin-bottom:0;margin-left:1em}.grid-view .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;border:1px solid transparent;border-radius:2px;background:transparent}.dt-body-nowrap{white-space:nowrap}.t-cards{display:inline-block;border-radius:6px;padding:24px;background:#fafafe;margin-bottom:16px;margin-right:16px;width:100%;min-width:300px;box-sizing:border-box;max-width:50%}.t-cards .t-cards-content{display:flex;flex-direction:column;gap:8px}.t-cards .t-cards-content .t-cards-title{display:flex;align-items:center;color:#18204e;font-size:16px;font-family:'Inter', sans-serif;font-weight:700}.t-cards .t-cards-content .t-cards-title img{margin-right:8px}.t-cards .t-cards-content .t-cards-text{color:#465567;margin-left:32px;font-size:12px}.t-cards .t-cards-content .t-cards-text.clear-margin--left{margin-left:0}.t-cards .t-cards-content span{margin:0em .25em 0em 0em;font-size:24px}.t-cards .t-cards-content .t-cards-link{display:flex;gap:13px}.t-cards:hover{text-decoration:none}.tag-topbar{padding:12px;box-sizing:border-box;list-style:none;width:100%;position:fixed;right:0em;z-index:2;background-color:#fff}@media (min-width: 768px){.tag-topbar{width:calc(100% - 190px)}}.tag-topbar__content{display:flex;justify-content:start;align-items:center;list-style:none;margin:0em;width:100%}.tag-topbar__content .tag-topbar__item{display:flex}.tag-topbar__content .tag-topbar__item .tag-topbar__voltar{display:none;text-decoration:none;cursor:pointer;color:#16205b;padding:12px;padding-left:0em;border-right:solid .5px #eaeaf8;font-family:'Inter', sans-serif;font-size:14px;font-weight:bold;margin-right:16px}@media (min-width: 768px){.tag-topbar__content .tag-topbar__item .tag-topbar__voltar{display:block}}.tag-topbar__content .tag-topbar__item .tag-topbar__toggle{display:flex;flex-direction:column;justify-content:space-between;width:24px;height:24px;padding:12px;padding-left:0em;border-right:solid .5px #eaeaf8;margin-right:16px}@media (min-width: 768px){.tag-topbar__content .tag-topbar__item .tag-topbar__toggle{display:none}}.tag-topbar__content .tag-topbar__item .tag-topbar__toggle div{border-radius:12px;width:100%;height:4px;background-color:#272B96}.tag-topbar__content .tag-topbar__item .tag-topbar__username{display:inline-block;font-size:14px;margin-left:8px;border-top:1px solid #eaeaf8;width:90%;color:#a6b6c8}.tag-topbar__content .tag-topbar__item .tag-topbar__school_logo{object-fit:contain;width:32px;height:32px;border-radius:50%;margin-right:8px;border:2px solid #16205b;padding:.375em}.t-accordion{border:none}.t-accordion__header .t-accordion__head{border:none}.t-accordion__container-icon:hover{background-color:#fafafe !important;user-select:none}.t-accordion__icon{transition:all 200ms}.t-accordion__icon.closed{transform:rotate(90deg);transition:all 200ms}.t-accordion__body>.odd{background-color:#fafafe}.t-accordion__body>.odd>*,.t-accordion__body>.even>*{font-size:14px;background-color:#fafafe;box-shadow:none !important;padding:14px 24px}.t-accordion__body>.odd:hover>*,.t-accordion__body>.even:hover>*,.t-accordion__body>*>*{box-shadow:none !important}.t-accordeon .ui-accordion-header,.t-accordeon-primary .ui-accordion-header,.t-accordeon-secondary .ui-accordion-header,.t-accordeon-tertiary .ui-accordion-header{display:flex !important;background:#F5F7F9;cursor:pointer;padding:4px 12px !important;border-radius:0;border:none;color:#252A31}.t-accordeon .ui-accordion-header .t-title,.t-accordeon-primary .ui-accordion-header .t-title,.t-accordeon-secondary .ui-accordion-header .t-title,.t-accordeon-tertiary .ui-accordion-header .t-title{margin:0 8px;font-weight:500;color:#252A31}.t-accordeon .ui-accordion-content,.t-accordeon-primary .ui-accordion-content,.t-accordeon-secondary .ui-accordion-content,.t-accordeon-tertiary .ui-accordion-content{height:auto !important;overflow-x:hidden !important}.t-accordeon-primary .ui-accordion-header{background:#F5F7F9}.t-accordeon-primary .icon-color{color:#5F738C}.t-accordeon-secondary .ui-accordion-header{padding:0 0 !important;background:#e8edf1;color:#5F738C}.t-accordeon-secondary .ui-accordion-header .t-title{margin:0 8px;font-weight:500;color:#252A31}.t-accordeon-secondary .ui-accordion-content{height:auto !important;overflow-x:hidden !important;background-color:#fff;padding:0em !important}.t-accordeon-secondary .ui-widget-content{background:none !important}.t-accordeon-secondary .icon-color{color:#5F738C;font-size:18px;margin-right:12px}.t-accordeon-secondary .t-accordeon-container-table{justify-content:space-between;display:flex;flex-direction:row}.t-accordeon-tertiary .ui-accordion-header{padding:12px 0 !important;background:#F5F7F9}.t-accordeon-tertiary .ui-accordion-header:hover,.t-accordeon-tertiary .ui-accordion-header--active{background-color:#e5eaef}.t-accordeon-tertiary .ui-accordion-content{background-color:#fff;background:none !important;padding-left:0 !important;padding-right:0 !important;height:auto}.t-filter-bar{display:flex;flex-direction:column;column-gap:12px}@media (min-width: 768px){.t-filter-bar{flex-direction:row}}.t-filter-bar .t-filters{display:flex;margin-bottom:12px}@media (min-width: 768px){.t-filter-bar .t-filters{margin-bottom:0;display:flex}}@font-face{font-family:'icone-tag';src:url("/themes/default/fonts/IconsTag_V14.ttf")}h1{font-size:24px;font-weight:700;line-height:36px;color:#252A31;padding:.875em 0em}h2{font-size:16px}h3{color:#94a8be;font-size:16px;line-height:24px;font-weight:700;margin:12px 0px}h4{font-size:14px;font-weight:700}h5,.subheading{font-size:14px;color:#94a8be;font-weight:400}.t-menu{margin:0;padding:8px}.t-menu .t-menu-item__icon{font-size:18px}.t-menu-item{position:relative;display:flex;align-items:center;gap:8px;padding:.5em;border-radius:6px;cursor:pointer;background:#fafafe}.t-menu-item__icon{filter:invert(42%) sepia(30%) saturate(380%) hue-rotate(173deg) brightness(98%) contrast(88%)}.t-menu-item__link{display:flex;gap:8px;width:100%;font-size:14px;font-weight:400;color:#272B96;align-items:center}.t-menu-item__link:link,.t-menu-item__link:focus,.t-menu-item__link:hover,.t-menu-item__link--active,.t-menu-item__link:active{text-decoration:none !important}.t-menu-item__text{color:#5F738C}.t-menu-item:hover{background:#eaeaf8}.t-menu-item.active{background:#EAEAF8}.t-menu-item.active::before{content:"";position:absolute;width:4px;left:-8px;height:35px;background:#222C64;border-radius:0 4px 4px 0}.t-menu-item.active .t-menu-item__icon{filter:saturate(1)}.t-menu-item.active .t-menu-item__text{color:#272B96}.t-menu-group{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:.5em;border-radius:6px;cursor:pointer}.t-menu-group__icon{filter:invert(42%) sepia(30%) saturate(380%) hue-rotate(173deg) brightness(98%) contrast(88%)}.t-menu-group__link{display:flex;gap:8px;width:100%;font-size:14px;font-weight:400;color:#272B96;align-items:center}.t-menu-group__link:link,.t-menu-group__link:focus,.t-menu-group__link:hover,.t-menu-group__link--active,.t-menu-group__link:active{text-decoration:none !important}.t-menu-group__text{color:#5F738C}.t-menu-group ul{margin:0}.t-menu-group:not(.active) .fa-chevron-down{display:none}.t-menu-group.active .fa-chevron-right{display:none}.t-menu-group.active .collapse{overflow:visible}.t-menu-group.active .t-menu-group__icon{filter:saturate(1)}.t-menu-group.active .t-menu-group__text{color:#272B96}.t-drawer{width:200px;float:left;position:fixed;height:100%;overflow-y:auto;overflow-x:hidden;top:0px;background:#fafafe;z-index:99;-ms-overflow-style:none;scrollbar-width:none}.t-drawer-header{display:flex;align-items:center;width:auto;margin-left:.875em;margin-top:24px;margin-bottom:24px}.t-drawer-toggle{display:flex;flex-direction:column;justify-content:space-between;width:24px;height:24px;padding:12px;padding-left:0em;border-right:solid .5px #eaeaf8;margin-right:16px}@media (min-width: 768px){.t-drawer-toggle{display:none}}.t-drawer-toggle div{border-radius:12px;width:100%;height:4px;background-color:#272B96}.t-drawer--mobile-hidden{left:-200px;transition:left 500ms}.t-drawer::-webkit-scrollbar{display:none}@media (min-width: 768px){.t-drawer--mobile-hidden{left:0}}.sidebar-cover{display:block;background-color:#00000062;width:100%;height:100%;position:fixed;top:0;right:0;z-index:3}.t-modal-container{color:#252A31;box-sizing:border-box;height:auto;max-height:80vh;background:#fff;border-radius:3px;overflow-y:scroll}.t-modal-container .t-modal__header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px}.t-modal-container .t-modal__header .t-title{font-size:16px;color:#252A31;margin:0}.t-modal-container .t-modal__header .close{opacity:1}.t-modal-container .t-modal__body{padding:14px 24px}.t-modal-container .t-modal__body label{font-size:14px}.t-modal-container .t-modal__footer a,.t-modal-container .t-modal__footer button{flex:1;padding:.875em}.t-modal-container.height--is-four-fifths{height:80vh}.t-modal-container.height--is-three-fifths{height:60vh}.t-badge,.t-badge-info,.t-badge-critical,.t-badge-success,.t-badge-warning{display:flex;gap:2px;align-items:center;border-radius:6px;padding:0 4px 0 4px;margin:8px 0;background-color:#eff2f5}.t-badge__icon{color:#52647a;font-size:12px;margin-right:6px}.t-badge__label{color:#52647a;font-weight:500}.t-badge:link,.t-badge-info:link,.t-badge-critical:link,.t-badge-success:link,.t-badge-warning:link,.t-badge:focus,.t-badge-info:focus,.t-badge-critical:focus,.t-badge-success:focus,.t-badge-warning:focus,.t-badge:hover,.t-badge-info:hover,.t-badge-critical:hover,.t-badge-success:hover,.t-badge-warning:hover,.t-badge--active,.t-badge:active,.t-badge-info:active,.t-badge-critical:active,.t-badge-success:active,.t-badge-warning:active{text-decoration:none !important}.t-badge-info{width:fit-content;border:0.1rem solid #94A8BE;font-weight:500;background-color:#B4DBF8;color:#004680;padding:0 6px}.t-badge-info__icon{color:#004680;font-size:14px}.t-badge-critical{border:0.1rem solid #D21C1C;background-color:#D21C1C;color:#fff}.t-badge-success{background-color:#EBF4EC;color:#2B7336}.t-badge-warning{background-color:#fdf0e3;color:#a25100}.reports{display:flex;flex-wrap:wrap}.t-reports_icons{font-size:28px;color:#3f45ea}.t-icon-trash::before{content:'A';font-family:'icone-tag', sans-serif}.t-icon-less_stock::before{content:'a';font-family:'icone-tag', sans-serif}.t-icon-bar_graph::before{content:'B';font-family:'icone-tag', sans-serif}.t-icon-more_stock::before{content:'b';font-family:'icone-tag', sans-serif}.t-icon-people::before{content:'C';font-family:'icone-tag', sans-serif}.t-icon-person_add::before{content:'c';font-family:'icone-tag', sans-serif}.t-icon-bus::before{content:'D';font-family:'icone-tag', sans-serif}.t-icon-person_remove::before{content:'d';font-family:'icone-tag', sans-serif}.t-icon-apple::before{content:'E';font-family:'icone-tag', sans-serif}.t-icon-down_arrow::before{content:'e';font-family:'icone-tag', sans-serif}.t-icon-pencil::before{content:'F';font-family:'icone-tag', sans-serif}.t-icon-hamburger_button::before{content:'f';font-family:'icone-tag', sans-serif}.t-icon-column_graphi::before{content:'G';font-family:'icone-tag', sans-serif}.t-icon-close::before{content:'g';font-family:'icone-tag', sans-serif}.t-icon-calendar::before{content:'H';font-family:'icone-tag', sans-serif}.t-icon-search_icon::before{content:'h';font-family:'icone-tag', sans-serif}.t-icon-settings::before{content:'I';font-family:'icone-tag', sans-serif}.t-icon-filter::before{content:'i';font-family:'icone-tag', sans-serif}.t-icon-educacenso::before{content:'J';font-family:'icone-tag', sans-serif}.t-icon-right_arrow::before{content:'j';font-family:'icone-tag', sans-serif}.t-icon-help::before{content:'K';font-family:'icone-tag', sans-serif}.t-icon-left_arrow::before{content:'k';font-family:'icone-tag', sans-serif}.t-icon-home::before{content:'L';font-family:'icone-tag', sans-serif}.t-icon-down_arrow::before{content:'l';font-family:'icone-tag', sans-serif}.t-icon-book::before{content:'M';font-family:'icone-tag', sans-serif}.t-icon-up_arrow::before{content:'m';font-family:'icone-tag', sans-serif}.t-icon-exit::before{content:'N';font-family:'icone-tag', sans-serif}.t-icon-slider::before{content:'n';font-family:'icone-tag', sans-serif}.t-icon-blackboard::before{content:'O';font-family:'icone-tag', sans-serif}.t-icon-bin::before{content:'o';font-family:'icone-tag', sans-serif}.t-icon-finger_print::before{content:'P';font-family:'icone-tag', sans-serif}.t-icon-success::before{content:'p';font-family:'icone-tag', sans-serif}.t-icon-school::before{content:'Q';font-family:'icone-tag', sans-serif}.t-icon-info::before{content:'q';font-family:'icone-tag', sans-serif}.t-icon-line_graph::before{content:'R';font-family:'icone-tag', sans-serif}.t-icon-eye::before{content:'r';font-family:'icone-tag', sans-serif}.t-icon-schedule::before{content:'S';font-family:'icone-tag', sans-serif}.t-icon-eye_hash::before{content:'s';font-family:'icone-tag', sans-serif}.t-icon-diary::before{content:'T';font-family:'icone-tag', sans-serif}.t-icon-lock::before{content:'t';font-family:'icone-tag', sans-serif}.t-icon-topics::before{content:'U';font-family:'icone-tag', sans-serif}.t-icon-duplicate::before{content:'u';font-family:'icone-tag', sans-serif}.t-icon-checklist::before{content:'V';font-family:'icone-tag', sans-serif}.t-icon-photos::before{content:'v';font-family:'icone-tag', sans-serif}.t-icon-edition::before{content:'W';font-family:'icone-tag', sans-serif}.t-icon-camera::before{content:'w';font-family:'icone-tag', sans-serif}.t-icon-configuration-adm::before{content:'X';font-family:'icone-tag', sans-serif}.t-icon-export::before{content:'x';font-family:'icone-tag', sans-serif}.t-icon-sagres::before{content:'Y';font-family:'icone-tag', sans-serif}.t-icon-printer::before{content:'y';font-family:'icone-tag', sans-serif}.t-icon-restaurant::before{content:'Z';font-family:'icone-tag', sans-serif}.t-icon-play::before{content:'z';font-family:'icone-tag', sans-serif}.t-icon-to-go-back::before{content:'0';font-family:'icone-tag', sans-serif}.t-icon-annotation::before{content:'1';font-family:'icone-tag', sans-serif}.t-icon-group-people::before{content:'2';font-family:'icone-tag', sans-serif}.t-icon-submit-form::before{content:'3';font-family:'icone-tag', sans-serif}.t-icon-person::before{content:'4';font-family:'icone-tag', sans-serif}.t-icon-slip::before{content:'5';font-family:'icone-tag', sans-serif}.t-icon-box::before{content:'6';font-family:'icone-tag', sans-serif}.t-icon-question-group::before{content:'7';font-family:'icone-tag', sans-serif}.t-icon-list-form::before{content:'8';font-family:'icone-tag', sans-serif}.t-icon-balloon-question::before{content:'9';font-family:'icone-tag', sans-serif}.t-icon-sucess::before{content:'/';font-family:'icone-tag', sans-serif}.t-icon-graduation-cap::before{content:'!';font-family:'icone-tag', sans-serif}.t-icon-bus2::before{content:'"';font-family:'icone-tag', sans-serif}.t-icon-copy::before{content:'#';font-family:'icone-tag', sans-serif}.t-icon-sp::before{content:'.';font-family:'icone-tag', sans-serif}.t-icon-integration::before{content:'`';font-family:'icone-tag', sans-serif}.t-icon-add-group::before{content:'-';font-family:'icone-tag', sans-serif}.t-icon-room-service::before{content:'&';font-family:'icone-tag', sans-serif}.t-icon-circle-three-quarters::before{content:'[';font-family:'icone-tag', sans-serif}.t-icon-Generate-RA::before{content:':';font-family:'icone-tag', sans-serif}.t-icon-graduation-cap::before{content:';';font-family:'icone-tag', sans-serif}.t-icon-handshake::before{content:'<';font-family:'icone-tag', sans-serif}.t-icon-weather-report::before{content:'>';font-family:'icone-tag', sans-serif}.t-icon-percentage::before{content:'=';font-family:'icone-tag', sans-serif}.t-icon-identity::before{content:'?';font-family:'icone-tag', sans-serif}.t-icon-e-learning::before{content:'@';font-family:'icone-tag', sans-serif}.t-icon-arrow-az::before{content:'*';font-family:'icone-tag', sans-serif}.t-icon-wheelchair::before{content:'+';font-family:'icone-tag', sans-serif}.t-icon-teachers-students::before{content:'(';font-family:'icone-tag', sans-serif}.t-icon-bullseye-arrow::before{content:')';font-family:'icone-tag', sans-serif}.t-icon-backpack::before{content:',';font-family:'icone-tag', sans-serif}.t-icon-heart::before{content:"'";font-family:'icone-tag', sans-serif}.t-icon-update::before{content:'$';font-family:'icone-tag', sans-serif}.t-icon-no-teacher::before{content:'%';font-family:'icone-tag', sans-serif}.t-student-monitoring::before{content:'~';font-family:'icone-tag', sans-serif}.t-parents-children::before{content:'^';font-family:'icone-tag', sans-serif}.t-monitoring_report::before{content:'{';font-family:'icone-tag', sans-serif}.t-info_positive::before{content:'}';font-family:'icone-tag', sans-serif}.t-medical::before{content:'É';font-family:'icone-tag', sans-serif}.t-hospital-user::before{content:'·';font-family:'icone-tag', sans-serif}.t-doctor::before{content:'_';font-family:'icone-tag', sans-serif}.t-classdiary::before{content:'Ú';font-family:'icone-tag', sans-serif}.t-school-transfer::before{content:'ó';font-family:'icone-tag', sans-serif}.t-class-transfer::before{content:'Í';font-family:'icone-tag', sans-serif}.t-transfer-all-school::before{content:'Ê';font-family:'icone-tag', sans-serif}.t-stage-teachers::before{content:'ñ';font-family:'icone-tag', sans-serif}.t-school-teacher::before{content:'í';font-family:'icone-tag', sans-serif}.t-class-diary::before{content:'Ú';font-family:'icone-tag', sans-serif}.t-icon-start::before{content:'ô';font-family:'icone-tag', sans-serif}.t-statistic-data::before{content:'é';font-family:'icone-tag', sans-serif}.t-report_card::before{content:'ê';font-family:'icone-tag', sans-serif}.t-group-bag::before{content:'Á';font-family:'icone-tag', sans-serif}.t-scholarship-schools::before{content:'Â';font-family:'icone-tag', sans-serif}.t-amount-class::before{content:'â';font-family:'icone-tag', sans-serif}.t-amount-school::before{content:'á';font-family:'icone-tag', sans-serif}.t-id-card-clip::before{content:'ã';font-family:'icone-tag', sans-serif}.reports{display:flex;flex-wrap:wrap}.t-reports_icons{font-size:28px;color:#3f45ea}.t-sortable{list-style-type:none}.t-sortable>*{background:#fafafe !important;border:1px solid #bac7d5 !important;margin:4px;border-radius:3px;color:#252A31 !important;display:flex;padding:12px 16px;align-items:center;gap:12px}.t-separator{width:100%;border-top:.5px solid #e8edf1;margin:6px 0px}.t-accordeon .ui-accordion-header,.t-accordeon-primary .ui-accordion-header,.t-accordeon-secondary .ui-accordion-header,.t-accordeon-tertiary .ui-accordion-header{display:flex !important;background:#F5F7F9;cursor:pointer;padding:4px 12px !important;border-radius:0;border:none;color:#252A31}.t-accordeon .ui-accordion-header .t-title,.t-accordeon-primary .ui-accordion-header .t-title,.t-accordeon-secondary .ui-accordion-header .t-title,.t-accordeon-tertiary .ui-accordion-header .t-title{margin:0 8px;font-weight:500;color:#252A31}.t-accordeon .ui-accordion-content,.t-accordeon-primary .ui-accordion-content,.t-accordeon-secondary .ui-accordion-content,.t-accordeon-tertiary .ui-accordion-content{height:auto !important;overflow-x:hidden !important}.t-accordeon-primary .ui-accordion-header{background:#F5F7F9}.t-accordeon-primary .icon-color{color:#5F738C}.t-accordeon-secondary .ui-accordion-header{padding:0 0 !important;background:#e8edf1;color:#5F738C}.t-accordeon-secondary .ui-accordion-header .t-title{margin:0 8px;font-weight:500;color:#252A31}.t-accordeon-secondary .ui-accordion-content{height:auto !important;overflow-x:hidden !important;background-color:#fff;padding:0em !important}.t-accordeon-secondary .ui-widget-content{background:none !important}.t-accordeon-secondary .icon-color{color:#5F738C;font-size:18px;margin-right:12px}.t-accordeon-secondary .t-accordeon-container-table{justify-content:space-between;display:flex;flex-direction:row}.t-accordeon-tertiary .ui-accordion-header{padding:12px 0 !important;background:#F5F7F9}.t-accordeon-tertiary .ui-accordion-header:hover,.t-accordeon-tertiary .ui-accordion-header--active{background-color:#e5eaef}.t-accordeon-tertiary .ui-accordion-content{background-color:#fff;background:none !important;padding-left:0 !important;padding-right:0 !important;height:auto}.login-form{flex-direction:column;margin-top:3.25em;margin-bottom:3.25em}.login-form .form-signin{position:relative;width:334px;margin-top:3.25em;margin-bottom:0em}.login-form .login-footer{margin-top:3.25em;margin-bottom:0em;flex-direction:column;justify-content:center;display:flex;text-align:center}.login-form .login-footer .login-link{word-wrap:break-word;white-space:nowrap}.login-form .login-footer .login-link a{color:black;text-decoration:none;font-weight:bold}.login-form .login-footer .login-link a:active{color:#4d2897;text-decoration:underline}.login-form .login-footer .login-link a:hover{color:#4d2897;text-decoration:underline}.login-form .login-versao{margin-top:3.25em;padding-top:3.25em}.t-tag,.t-tag-primary,.t-tag-secundary{display:flex;align-items:center;justify-content:center;font-size:14px;padding:4px 8px;border-radius:6px;width:fit-content}.t-tag-primary{color:#16205b;background-color:#EAEAF8}.t-tag-secundary{color:#004680;background-color:#B4DBF8}.align-items--center{display:flex;align-items:center}@media (min-width: 768px){.align-items--center-on-desktop{display:flex;align-items:center}}.align-items--baseline{display:flex;align-items:baseline}.align-items--stretch{display:flex;align-items:stretch}.align-items--end{display:flex;align-items:end}.justify-content--center{display:flex;justify-content:center}.justify-content--start{display:flex;justify-content:start}.justify-content--space-between{display:flex;justify-content:space-between}.justify-content--end{display:flex;justify-content:end}.text-align--center{text-align:center}.text-align--left{text-align:left}.text-align--right{text-align:right}.text-align--justify{text-align:justify}.clear-margin--left{margin-left:0}.clear-margin--right{margin-right:0}.clear-margin--top{margin-top:0}.clear-margin--bottom{margin-bottom:0}.clear-margin--all{margin:0}.clear-margin--x{margin-right:0;margin-left:0}.clear-margin--y{margin-top:0;margin-bottom:0}.wrap{flex-wrap:wrap}.hide{display:none}.show{display:block}.show--mobile{display:flex}@media (min-width: 640px){.show--mobile{display:none}}.show--tablet{display:flex}@media (min-width: 768px){.show--tablet{display:none}}.show--desktop{display:none}@media (min-width: 768px){.show--desktop{display:flex}}.full{width:100%;height:100%}.full--width{width:100%}.full--height{height:100%} +@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap");*,body,html{font-family:'inter', sans-serif}.main{padding:.75em}@media (min-width: 640px){.main{padding:1.5em}}a{color:inherit}a:hover{text-decoration:none}hr{margin:0;border:none}select[multiple]{height:30px}input[type="number"]{margin:0px}select,select[multiple],textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"]{min-height:30px}.row{display:flex;flex-direction:column}.row.reverse{flex-direction:column-reverse}@media (min-width: 640px){.row.reverse{flex-direction:row}}@media (min-width: 640px){.row{flex-direction:row}}.row.margin-large--bottom{margin-bottom:1em}.mobile-row{display:flex;flex-direction:row}.mobile-row.helper{padding-left:13px}.tablet-row{display:flex;flex-direction:column}@media (min-width: 768px){.tablet-row{flex-direction:row}}.column{flex:1;flex-basis:0;margin-left:1em;margin-right:1em}.column.flex{display:flex}.column.clearfix{margin-left:0;margin-right:0}.column.clearleft{margin-left:0}.column.clearleft--on-tablet{margin-left:0}@media (min-width: 768px){.column.clearleft--on-tablet{margin-left:1em}}.column.clearleft--on-mobile{margin-left:0}@media (min-width: 640px){.column.clearleft--on-mobile{margin-left:1em}}.column.no-grow{flex-grow:0}.column.helper{max-width:50%}@media (min-width: 640px){.column.is-half{max-width:50%}}@media (min-width: 640px){.column.is-four-fifths{max-width:80%}}.column.is-four-fifths--mobile{max-width:80%}@media (min-width: 640px){.column.is-three-quarters{max-width:75%}}@media (min-width: 640px){.column.is-two-thirds{max-width:66.6666%}}@media (min-width: 640px){.column.is-three-fifths{max-width:60%}}@media (min-width: 640px){.column.is-two-fifths{max-width:40%}}@media (min-width: 640px){.column.is-one-third{max-width:33.3333%}}@media (min-width: 640px){.column.is-one-quarter{max-width:25%}}@media (min-width: 640px){.column.is-one-fifth{max-width:20%}}@media (min-width: 640px){.column.is-one-tenth{max-width:10%}}.column.is-one-tenth--mobile{max-width:10%}.t-buttons-container{display:inline-block;width:100%}.t-buttons-container.auto-width{width:auto}@media (min-width: 768px){.t-buttons-container{padding:.25em 0 .25em 0;font-size:14px;display:flex}}.t-button,.t-button-primary,.t-button-submit,.t-button-secondary,.t-button-tertiary,.t-button-danger,.t-button-icon{display:flex;flex:1;padding:.875em;margin:.5em 0;font-size:12px;border-radius:6px;text-decoration:none;align-self:center;justify-content:center;cursor:pointer}.t-button span,.t-button-primary span,.t-button-submit span,.t-button-secondary span,.t-button-tertiary span,.t-button-danger span,.t-button-icon span{margin:0em .25em 0em 0em;font-size:14px}.t-button:hover,.t-button-primary:hover,.t-button-submit:hover,.t-button-secondary:hover,.t-button-tertiary:hover,.t-button-danger:hover,.t-button-icon:hover,.t-button--active{text-decoration:none}@media (min-width: 640px){.t-button,.t-button-primary,.t-button-submit,.t-button-secondary,.t-button-tertiary,.t-button-danger,.t-button-icon{flex:0 auto;margin-right:1em;padding:.25em 1em .25em 1em;font-size:14px}}@media (min-width: 768px){.t-button,.t-button-primary,.t-button-submit,.t-button-secondary,.t-button-tertiary,.t-button-danger,.t-button-icon{flex:0 auto;margin-right:1em;padding:.25em 1em .25em 1em;font-size:14px}}@media (min-width: 1536px){.t-button,.t-button-primary,.t-button-submit,.t-button-secondary,.t-button-tertiary,.t-button-danger,.t-button-icon{margin-right:1em;padding:.375em 1em .375em 1em}}.t-button:link,.t-button-primary:link,.t-button-submit:link,.t-button-secondary:link,.t-button-tertiary:link,.t-button-danger:link,.t-button-icon:link,.t-button:focus,.t-button-primary:focus,.t-button-submit:focus,.t-button-secondary:focus,.t-button-tertiary:focus,.t-button-danger:focus,.t-button-icon:focus,.t-button:hover,.t-button-primary:hover,.t-button-submit:hover,.t-button-secondary:hover,.t-button-tertiary:hover,.t-button-danger:hover,.t-button-icon:hover,.t-button--active,.t-button:active,.t-button-primary:active,.t-button-submit:active,.t-button-secondary:active,.t-button-tertiary:active,.t-button-danger:active,.t-button-icon:active{text-decoration:none !important}.t-button img,.t-button-primary img,.t-button-submit img,.t-button-secondary img,.t-button-tertiary img,.t-button-danger img,.t-button-icon img{margin-right:6px}.t-button i,.t-button-primary i,.t-button-submit i,.t-button-secondary i,.t-button-tertiary i,.t-button-danger i,.t-button-icon i{align-self:center;margin-right:6px;opacity:0.5}.t-button-primary,.t-button-submit{background-color:#3f45ea;color:#fff;cursor:pointer;align-self:center}.t-button-primary--icon{flex:0;padding:.75em 2em}.t-button-primary:hover,.t-button-submit:hover,.t-button-primary--active{color:#fff;background-color:#272B96}.t-button-primary:link,.t-button-submit:link,.t-button-primary:focus,.t-button-submit:focus,.t-button-primary:hover,.t-button-submit:hover,.t-button-primary--active,.t-button-primary:active,.t-button-submit:active{color:#fff}.t-button-secondary{background-color:#eff2f5;color:#252A31;border:0}.t-button-secondary:hover,.t-button-secondary--active,.t-button-secondary:focus{color:#252A31;background-color:#e5eaef}.t-button-tertiary{background-color:#94a8be;color:#fff}.t-button-tertiary:hover,.t-button-tertiary--active{color:#fff;background-color:#5F738C}.t-button-submit{margin:14px 0}.t-button-danger{color:#fff;background-color:#D21C1C}.t-button-danger--disabled{background-color:#eff2f5;color:#94a8be;cursor:not-allowed !important}.t-button-danger:hover{color:#fff}.t-button-danger--disabled:hover{color:#94a8be}.t-button-icon.secondary{padding:.375em 1.5em .375em 1.5em;background-color:#3f45ea;color:#fff;cursor:pointer;align-self:center;font-size:16px !important}.t-button-icon.secondary:hover,.t-button-icon.secondary--active{color:#fff;background-color:#272B96}.t-button-icon.secondary:link,.t-button-icon.secondary:focus,.t-button-icon.secondary:hover,.t-button-icon.secondary--active,.t-button-icon.secondary:active{color:#fff}.t-button-icon.secondary span{font-size:16px !important}.t-field-text{margin-bottom:14px}.t-field-text__label{display:flex;align-items:center}.t-field-text__label--required{font-weight:bold}.t-field-text__input,.t-field-text input[type="text"],.t-field-text input[type="number"]{box-sizing:border-box;width:100%;margin-bottom:0px;resize:none}.t-field-select,.t-multiselect{width:100%;margin-bottom:14px}.t-field-select__label--required{font-weight:bold}.t-field-select__input.select2-container{width:100% !important}.t-field-select__input.select2-container .select2-choice{width:100%;box-sizing:border-box;word-wrap:break-word;text-overflow:ellipsis}.t-field-select__helper{max-width:50% !important}.t-field-select__helper2{max-width:65% !important}.t-field-tarea{margin-bottom:24px}.t-field-tarea__label--required{font-weight:bold}.t-field-tarea__input,.t-field-tarea textarea{width:100%;padding:4px;box-sizing:border-box}.t-field-tarea__input.large,.t-field-tarea textarea.large{height:100%;min-height:100px;max-height:100px}.t-field-checkbox{display:flex;white-space:normal;line-height:12px;width:100%;margin-top:4px;margin-bottom:8px}.t-field-checkbox__label{padding-top:0 !important}.t-field-checkbox__label--required{font-weight:bold}.t-field-checkbox__input,.t-field-checkbox input[type="checkbox"]{background:#fff;height:20px;width:20px;margin:0 14px 0 0 !important}.t-field-checkbox.helper{margin-top:31px;margin-bottom:10px;margin-left:-18px}.t-field-checkbox-group{margin-bottom:6px;margin-top:6px}.t-field-checkbox-group .t-field-checkbox{margin-top:4px;margin-bottom:8px}.t-field-number{margin-bottom:14px}.t-field-number__label{display:flex;align-items:center}.t-field-number__label--required{font-weight:bold}.t-field-number__input,.t-field-number input[type="number"]{width:100%;margin-bottom:0px;padding:.75em}.t-field-select,.t-multiselect{width:100%;margin-bottom:14px}.t-field-select__label--required{font-weight:bold}.t-field-select__input.select2-container{width:100% !important}.t-field-select__input.select2-container .select2-choice{width:100%;box-sizing:border-box;word-wrap:break-word;text-overflow:ellipsis}.t-field-select__helper{max-width:50% !important}.t-field-select__helper2{max-width:65% !important}.t-multiselect{margin-top:14px}.t-multiselect .select2-search-choice{background-color:#B4DBF8 !important;border:none !important;font-size:14px !important;font-weight:500 !important;color:#004680;padding:.375em .5em !important;background-image:none !important;word-wrap:break-word}.t-multiselect .select2-search-choice div{margin-left:24px}.t-multiselect .select2-search-choice .select2-search-choice-close{background-image:url("../../../themes/default/img/botao-cancelar-multiselect.svg") !important;width:14px !important;height:14px !important;background-position:unset !important}.t-multiselect .select2-choices{overflow:auto !important;max-height:42px;width:100% !important}.t-multiselect .select3-choices{min-width:200px;max-height:57px;width:100% !important;word-wrap:break-word;text-overflow:ellipsis}@media (min-width: 768px){.t-multiselect .select3-choices{max-height:60px}}@media (min-width: 640px){.t-multiselect .select3-choices{max-height:60px}}.t-field-section{margin-top:24px}.t-tabs{display:flex;list-style:none;margin:0em 0em 0em 0em;padding:0em 0em 0em 0em;overflow-x:scroll;overflow-y:hidden;-ms-overflow-style:none;scrollbar-width:none}@media (min-width: 768px){.t-tabs{padding:.75em 1em .75em 1em;margin:0em 1em 0em 0em;overflow-x:hidden}}@media (min-width: 1536px){.t-tabs{padding:.375em;margin:0em 1em 0em 0em;overflow-x:hidden}}.t-tabs .t-tabs__list{display:flex;list-style:none;padding:0em;margin:0em}.t-tabs .t-tabs__list .t-tabs__item{display:inline-flex;white-space:nowrap;padding:0em;margin:0em;text-align:center}.t-tabs .t-tabs__list .t-tabs__item.active{font-weight:700;text-decoration:none}.t-tabs .t-tabs__list .t-tabs__item.active .t-tabs__link{display:flex;align-items:center;color:#2e33b7}.t-tabs .t-tabs__list .t-tabs__item.active .t-tabs__link .t-tabs__numeration{display:flex;justify-content:center;align-items:center;margin-right:8px;width:24px;height:24px;border-radius:100%;background-color:#2e33b7;color:#fff}.t-tabs .t-tabs__list .t-tabs__item a{text-decoration:none}.t-tabs .t-tabs__list .t-tabs__item .t-tabs__link{font-size:14px;height:auto;color:#52647a;padding:.875em;display:flex;align-items:center}@media (min-width: 768px){.t-tabs .t-tabs__list .t-tabs__item .t-tabs__link{padding:.25em 1em .25em 1em}}@media (min-width: 1536px){.t-tabs .t-tabs__list .t-tabs__item .t-tabs__link{padding:.375em 1em .375em 1em}}.t-tabs .t-tabs__list .t-tabs__item .t-tabs__link .t-tabs__numeration{display:flex;justify-content:center;align-items:center;margin-right:8px;width:24px;height:24px;border-radius:100%;background-color:#d6dee6;color:#5F738C}.t-tabs::-webkit-scrollbar{display:none}.tag-table,.tag-table-primary,.tag-table-secondary{border-collapse:initial;margin-top:16px;width:100%}.tag-table td,.tag-table-primary td,.tag-table-secondary td{background:#fff;padding:1em}.tag-table td .t-icon,.tag-table-primary td .t-icon,.tag-table-secondary td .t-icon{color:#5F738C;font-size:16px;cursor:pointer;margin-right:14px}.tag-table thead tr th:first-child,.tag-table-primary thead tr th:first-child,.tag-table-secondary thead tr th:first-child{border-radius:3px 0 0 3px}.tag-table thead tr th:last-child,.tag-table-primary thead tr th:last-child,.tag-table-secondary thead tr th:last-child{border-radius:0 3px 3px 0}.tag-table tbody,.tag-table-primary tbody,.tag-table-secondary tbody{--dt-row-selected: $colorsBaseProductLightActive;--dt-row-selected-text: var(--dt-row-selected);--dt-row-selected-link: var(--dt-row-selected)}.tag-table tbody .selected,.tag-table-primary tbody .selected,.tag-table-secondary tbody .selected{background-color:#EAEAF8}.tag-table tbody tr,.tag-table-primary tbody tr,.tag-table-secondary tbody tr{border-bottom:2.5px solid white}.tag-table tbody td,.tag-table-primary tbody td,.tag-table-secondary tbody td{font-family:"Inter",sans-serif;font-size:14px;padding:4px}.tag-table tbody td:first-child,.tag-table-primary tbody td:first-child,.tag-table-secondary tbody td:first-child{border-radius:3px 0 0 3px}.tag-table tbody td:last-child,.tag-table-primary tbody td:last-child,.tag-table-secondary tbody td:last-child{border-radius:0 3px 3px 0}.tag-table-primary thead tr th{font-weight:500;color:#fff;background-color:#18204e;padding:8px;line-height:normal}.tag-table-primary tbody tr:nth-child(2n+1) td{background-color:#EAEAF8}.tag-table-primary tbody tr:nth-child(2n) td{background-color:#F5F7F9}.tag-table-primary td a{color:#272B96}.tag-table-secondary{border-collapse:collapse}.tag-table-secondary thead tr th{font-weight:bold;color:#5F738C;background-color:#e8edf1;padding:8px;line-height:normal}.tag-table-secondary tbody tr{border-radius:none;border-bottom:.5px solid #e8edf1}.grid-view{padding-top:.875em}.grid-view .summary{display:none}.grid-view .dataTables_filter{margin:10px}.grid-view .dataTables_filter input[type="search"]{margin-bottom:0;margin-left:1em}.grid-view .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;border:1px solid transparent;border-radius:2px;background:transparent}.dt-body-nowrap{white-space:nowrap}.t-cards{display:inline-block;border-radius:6px;padding:24px;background:#fafafe;margin-bottom:16px;margin-right:16px;width:100%;min-width:300px;box-sizing:border-box;max-width:50%}.t-cards .t-cards-content{display:flex;flex-direction:column;gap:8px}.t-cards .t-cards-content .t-cards-title{display:flex;align-items:center;color:#18204e;font-size:16px;font-family:'Inter', sans-serif;font-weight:700}.t-cards .t-cards-content .t-cards-title img{margin-right:8px}.t-cards .t-cards-content .t-cards-text{color:#465567;margin-left:32px;font-size:12px}.t-cards .t-cards-content .t-cards-text.clear-margin--left{margin-left:0}.t-cards .t-cards-content span{margin:0em .25em 0em 0em;font-size:24px}.t-cards .t-cards-content .t-cards-link{display:flex;gap:13px}.t-cards:hover{text-decoration:none}.tag-topbar{padding:12px;box-sizing:border-box;list-style:none;width:100%;position:fixed;right:0em;z-index:2;background-color:#fff}@media (min-width: 768px){.tag-topbar{width:calc(100% - 190px)}}.tag-topbar__content{display:flex;justify-content:start;align-items:center;list-style:none;margin:0em;width:100%}.tag-topbar__content .tag-topbar__item{display:flex}.tag-topbar__content .tag-topbar__item .tag-topbar__voltar{display:none;text-decoration:none;cursor:pointer;color:#16205b;padding:12px;padding-left:0em;border-right:solid .5px #eaeaf8;font-family:'Inter', sans-serif;font-size:14px;font-weight:bold;margin-right:16px}@media (min-width: 768px){.tag-topbar__content .tag-topbar__item .tag-topbar__voltar{display:block}}.tag-topbar__content .tag-topbar__item .tag-topbar__toggle{display:flex;flex-direction:column;justify-content:space-between;width:24px;height:24px;padding:12px;padding-left:0em;border-right:solid .5px #eaeaf8;margin-right:16px}@media (min-width: 768px){.tag-topbar__content .tag-topbar__item .tag-topbar__toggle{display:none}}.tag-topbar__content .tag-topbar__item .tag-topbar__toggle div{border-radius:12px;width:100%;height:4px;background-color:#272B96}.tag-topbar__content .tag-topbar__item .tag-topbar__username{display:inline-block;font-size:14px;margin-left:8px;border-top:1px solid #eaeaf8;width:90%;color:#a6b6c8}.tag-topbar__content .tag-topbar__item .tag-topbar__school_logo{object-fit:contain;width:32px;height:32px;border-radius:50%;margin-right:8px;border:2px solid #16205b;padding:.375em}.t-accordion{border:none}.t-accordion__header .t-accordion__head{border:none}.t-accordion__container-icon:hover{background-color:#fafafe !important;user-select:none}.t-accordion__icon{transition:all 200ms}.t-accordion__icon.closed{transform:rotate(90deg);transition:all 200ms}.t-accordion__body>.odd{background-color:#fafafe}.t-accordion__body>.odd>*,.t-accordion__body>.even>*{font-size:14px;background-color:#fafafe;box-shadow:none !important;padding:14px 24px}.t-accordion__body>.odd:hover>*,.t-accordion__body>.even:hover>*,.t-accordion__body>*>*{box-shadow:none !important}.t-accordeon .ui-accordion-header,.t-accordeon-primary .ui-accordion-header,.t-accordeon-secondary .ui-accordion-header,.t-accordeon-tertiary .ui-accordion-header{display:flex !important;background:#F5F7F9;cursor:pointer;padding:4px 12px !important;border-radius:0;border:none;color:#252A31}.t-accordeon .ui-accordion-header .t-title,.t-accordeon-primary .ui-accordion-header .t-title,.t-accordeon-secondary .ui-accordion-header .t-title,.t-accordeon-tertiary .ui-accordion-header .t-title{margin:0 8px;font-weight:500;color:#252A31}.t-accordeon .ui-accordion-content,.t-accordeon-primary .ui-accordion-content,.t-accordeon-secondary .ui-accordion-content,.t-accordeon-tertiary .ui-accordion-content{height:auto !important;overflow-x:hidden !important}.t-accordeon-primary .ui-accordion-header{background:#F5F7F9}.t-accordeon-primary .icon-color{color:#5F738C}.t-accordeon-secondary .ui-accordion-header{padding:0 0 !important;background:#e8edf1;color:#5F738C}.t-accordeon-secondary .ui-accordion-header .t-title{margin:0 8px;font-weight:500;color:#252A31}.t-accordeon-secondary .ui-accordion-content{height:auto !important;overflow-x:hidden !important;background-color:#fff;padding:0em !important}.t-accordeon-secondary .ui-widget-content{background:none !important}.t-accordeon-secondary .icon-color{color:#5F738C;font-size:18px;margin-right:12px}.t-accordeon-secondary .t-accordeon-container-table{justify-content:space-between;display:flex;flex-direction:row}.t-accordeon-tertiary .ui-accordion-header{padding:12px 0 !important;background:#F5F7F9}.t-accordeon-tertiary .ui-accordion-header:hover,.t-accordeon-tertiary .ui-accordion-header--active{background-color:#e5eaef}.t-accordeon-tertiary .ui-accordion-content{background-color:#fff;background:none !important;padding-left:0 !important;padding-right:0 !important;height:auto}.t-filter-bar{display:flex;flex-direction:column;column-gap:12px}@media (min-width: 768px){.t-filter-bar{flex-direction:row}}.t-filter-bar .t-filters{display:flex;margin-bottom:12px}@media (min-width: 768px){.t-filter-bar .t-filters{margin-bottom:0;display:flex}}@font-face{font-family:'icone-tag';src:url("/themes/default/fonts/IconsTag_V14.ttf")}h1{font-size:24px;font-weight:700;line-height:36px;color:#252A31;padding:.875em 0em}h2{font-size:16px}h3{color:#94a8be;font-size:16px;line-height:24px;font-weight:700;margin:12px 0px}h4{font-size:14px;font-weight:700}h5,.subheading{font-size:14px;color:#94a8be;font-weight:400}.t-menu{margin:0;padding:8px}.t-menu .t-menu-item__icon{font-size:18px}.t-menu-item{position:relative;display:flex;align-items:center;gap:8px;padding:.5em;border-radius:6px;cursor:pointer;background:#fafafe}.t-menu-item__icon{filter:invert(42%) sepia(30%) saturate(380%) hue-rotate(173deg) brightness(98%) contrast(88%)}.t-menu-item__link{display:flex;gap:8px;width:100%;font-size:14px;font-weight:400;color:#272B96;align-items:center}.t-menu-item__link:link,.t-menu-item__link:focus,.t-menu-item__link:hover,.t-menu-item__link--active,.t-menu-item__link:active{text-decoration:none !important}.t-menu-item__text{color:#5F738C}.t-menu-item:hover{background:#eaeaf8}.t-menu-item.active{background:#EAEAF8}.t-menu-item.active::before{content:"";position:absolute;width:4px;left:-8px;height:35px;background:#222C64;border-radius:0 4px 4px 0}.t-menu-item.active .t-menu-item__icon{filter:saturate(1)}.t-menu-item.active .t-menu-item__text{color:#272B96}.t-menu-group{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:.5em;border-radius:6px;cursor:pointer}.t-menu-group__icon{filter:invert(42%) sepia(30%) saturate(380%) hue-rotate(173deg) brightness(98%) contrast(88%)}.t-menu-group__link{display:flex;gap:8px;width:100%;font-size:14px;font-weight:400;color:#272B96;align-items:center}.t-menu-group__link:link,.t-menu-group__link:focus,.t-menu-group__link:hover,.t-menu-group__link--active,.t-menu-group__link:active{text-decoration:none !important}.t-menu-group__text{color:#5F738C}.t-menu-group ul{margin:0}.t-menu-group:not(.active) .fa-chevron-down{display:none}.t-menu-group.active .fa-chevron-right{display:none}.t-menu-group.active .collapse{overflow:visible}.t-menu-group.active .t-menu-group__icon{filter:saturate(1)}.t-menu-group.active .t-menu-group__text{color:#272B96}.t-drawer{width:200px;float:left;position:fixed;height:100%;overflow-y:auto;overflow-x:hidden;top:0px;background:#fafafe;z-index:99;-ms-overflow-style:none;scrollbar-width:none}.t-drawer-header{display:flex;align-items:center;width:auto;margin-left:.875em;margin-top:24px;margin-bottom:24px}.t-drawer-toggle{display:flex;flex-direction:column;justify-content:space-between;width:24px;height:24px;padding:12px;padding-left:0em;border-right:solid .5px #eaeaf8;margin-right:16px}@media (min-width: 768px){.t-drawer-toggle{display:none}}.t-drawer-toggle div{border-radius:12px;width:100%;height:4px;background-color:#272B96}.t-drawer--mobile-hidden{left:-200px;transition:left 500ms}.t-drawer::-webkit-scrollbar{display:none}@media (min-width: 768px){.t-drawer--mobile-hidden{left:0}}.sidebar-cover{display:block;background-color:#00000062;width:100%;height:100%;position:fixed;top:0;right:0;z-index:3}.t-modal-container{color:#252A31;box-sizing:border-box;height:auto;max-height:80vh;background:#fff;border-radius:3px;overflow-y:scroll}.t-modal-container .t-modal__header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px}.t-modal-container .t-modal__header .t-title{font-size:16px;color:#252A31;margin:0}.t-modal-container .t-modal__header .close{opacity:1}.t-modal-container .t-modal__body{padding:14px 24px}.t-modal-container .t-modal__body label{font-size:14px}.t-modal-container .t-modal__footer a,.t-modal-container .t-modal__footer button{flex:1;padding:.875em}.t-modal-container.height--is-four-fifths{height:80vh}.t-modal-container.height--is-three-fifths{height:60vh}.t-badge,.t-badge-info,.t-badge-critical,.t-badge-success,.t-badge-warning{display:flex;gap:2px;align-items:center;border-radius:6px;padding:0 4px 0 4px;margin:8px 0;background-color:#eff2f5}.t-badge__icon{color:#52647a;font-size:12px;margin-right:6px}.t-badge__label{color:#52647a;font-weight:500}.t-badge:link,.t-badge-info:link,.t-badge-critical:link,.t-badge-success:link,.t-badge-warning:link,.t-badge:focus,.t-badge-info:focus,.t-badge-critical:focus,.t-badge-success:focus,.t-badge-warning:focus,.t-badge:hover,.t-badge-info:hover,.t-badge-critical:hover,.t-badge-success:hover,.t-badge-warning:hover,.t-badge--active,.t-badge:active,.t-badge-info:active,.t-badge-critical:active,.t-badge-success:active,.t-badge-warning:active{text-decoration:none !important}.t-badge-info{width:fit-content;border:0.1rem solid #94A8BE;font-weight:500;background-color:#B4DBF8;color:#004680;padding:0 6px}.t-badge-info__icon{color:#004680;font-size:14px}.t-badge-critical{border:0.1rem solid #D21C1C;background-color:#D21C1C;color:#fff}.t-badge-success{background-color:#EBF4EC;color:#2B7336}.t-badge-warning{background-color:#fdf0e3;color:#a25100}.reports{display:flex;flex-wrap:wrap}.t-reports_icons{font-size:28px;color:#3f45ea}.t-icon-trash::before{content:'A';font-family:'icone-tag', sans-serif}.t-icon-less_stock::before{content:'a';font-family:'icone-tag', sans-serif}.t-icon-bar_graph::before{content:'B';font-family:'icone-tag', sans-serif}.t-icon-more_stock::before{content:'b';font-family:'icone-tag', sans-serif}.t-icon-people::before{content:'C';font-family:'icone-tag', sans-serif}.t-icon-person_add::before{content:'c';font-family:'icone-tag', sans-serif}.t-icon-bus::before{content:'D';font-family:'icone-tag', sans-serif}.t-icon-person_remove::before{content:'d';font-family:'icone-tag', sans-serif}.t-icon-apple::before{content:'E';font-family:'icone-tag', sans-serif}.t-icon-down_arrow::before{content:'e';font-family:'icone-tag', sans-serif}.t-icon-pencil::before{content:'F';font-family:'icone-tag', sans-serif}.t-icon-hamburger_button::before{content:'f';font-family:'icone-tag', sans-serif}.t-icon-column_graphi::before{content:'G';font-family:'icone-tag', sans-serif}.t-icon-close::before{content:'g';font-family:'icone-tag', sans-serif}.t-icon-calendar::before{content:'H';font-family:'icone-tag', sans-serif}.t-icon-search_icon::before{content:'h';font-family:'icone-tag', sans-serif}.t-icon-settings::before{content:'I';font-family:'icone-tag', sans-serif}.t-icon-filter::before{content:'i';font-family:'icone-tag', sans-serif}.t-icon-educacenso::before{content:'J';font-family:'icone-tag', sans-serif}.t-icon-right_arrow::before{content:'j';font-family:'icone-tag', sans-serif}.t-icon-help::before{content:'K';font-family:'icone-tag', sans-serif}.t-icon-left_arrow::before{content:'k';font-family:'icone-tag', sans-serif}.t-icon-home::before{content:'L';font-family:'icone-tag', sans-serif}.t-icon-down_arrow::before{content:'l';font-family:'icone-tag', sans-serif}.t-icon-book::before{content:'M';font-family:'icone-tag', sans-serif}.t-icon-up_arrow::before{content:'m';font-family:'icone-tag', sans-serif}.t-icon-exit::before{content:'N';font-family:'icone-tag', sans-serif}.t-icon-slider::before{content:'n';font-family:'icone-tag', sans-serif}.t-icon-blackboard::before{content:'O';font-family:'icone-tag', sans-serif}.t-icon-bin::before{content:'o';font-family:'icone-tag', sans-serif}.t-icon-finger_print::before{content:'P';font-family:'icone-tag', sans-serif}.t-icon-success::before{content:'p';font-family:'icone-tag', sans-serif}.t-icon-school::before{content:'Q';font-family:'icone-tag', sans-serif}.t-icon-info::before{content:'q';font-family:'icone-tag', sans-serif}.t-icon-line_graph::before{content:'R';font-family:'icone-tag', sans-serif}.t-icon-eye::before{content:'r';font-family:'icone-tag', sans-serif}.t-icon-schedule::before{content:'S';font-family:'icone-tag', sans-serif}.t-icon-eye_hash::before{content:'s';font-family:'icone-tag', sans-serif}.t-icon-diary::before{content:'T';font-family:'icone-tag', sans-serif}.t-icon-lock::before{content:'t';font-family:'icone-tag', sans-serif}.t-icon-topics::before{content:'U';font-family:'icone-tag', sans-serif}.t-icon-duplicate::before{content:'u';font-family:'icone-tag', sans-serif}.t-icon-checklist::before{content:'V';font-family:'icone-tag', sans-serif}.t-icon-photos::before{content:'v';font-family:'icone-tag', sans-serif}.t-icon-edition::before{content:'W';font-family:'icone-tag', sans-serif}.t-icon-camera::before{content:'w';font-family:'icone-tag', sans-serif}.t-icon-configuration-adm::before{content:'X';font-family:'icone-tag', sans-serif}.t-icon-export::before{content:'x';font-family:'icone-tag', sans-serif}.t-icon-sagres::before{content:'Y';font-family:'icone-tag', sans-serif}.t-icon-printer::before{content:'y';font-family:'icone-tag', sans-serif}.t-icon-restaurant::before{content:'Z';font-family:'icone-tag', sans-serif}.t-icon-play::before{content:'z';font-family:'icone-tag', sans-serif}.t-icon-to-go-back::before{content:'0';font-family:'icone-tag', sans-serif}.t-icon-annotation::before{content:'1';font-family:'icone-tag', sans-serif}.t-icon-group-people::before{content:'2';font-family:'icone-tag', sans-serif}.t-icon-submit-form::before{content:'3';font-family:'icone-tag', sans-serif}.t-icon-person::before{content:'4';font-family:'icone-tag', sans-serif}.t-icon-slip::before{content:'5';font-family:'icone-tag', sans-serif}.t-icon-box::before{content:'6';font-family:'icone-tag', sans-serif}.t-icon-question-group::before{content:'7';font-family:'icone-tag', sans-serif}.t-icon-list-form::before{content:'8';font-family:'icone-tag', sans-serif}.t-icon-balloon-question::before{content:'9';font-family:'icone-tag', sans-serif}.t-icon-sucess::before{content:'/';font-family:'icone-tag', sans-serif}.t-icon-graduation-cap::before{content:'!';font-family:'icone-tag', sans-serif}.t-icon-bus2::before{content:'"';font-family:'icone-tag', sans-serif}.t-icon-copy::before{content:'#';font-family:'icone-tag', sans-serif}.t-icon-sp::before{content:'.';font-family:'icone-tag', sans-serif}.t-icon-integration::before{content:'`';font-family:'icone-tag', sans-serif}.t-icon-add-group::before{content:'-';font-family:'icone-tag', sans-serif}.t-icon-room-service::before{content:'&';font-family:'icone-tag', sans-serif}.t-icon-circle-three-quarters::before{content:'[';font-family:'icone-tag', sans-serif}.t-icon-Generate-RA::before{content:':';font-family:'icone-tag', sans-serif}.t-icon-graduation-cap::before{content:';';font-family:'icone-tag', sans-serif}.t-icon-handshake::before{content:'<';font-family:'icone-tag', sans-serif}.t-icon-weather-report::before{content:'>';font-family:'icone-tag', sans-serif}.t-icon-percentage::before{content:'=';font-family:'icone-tag', sans-serif}.t-icon-identity::before{content:'?';font-family:'icone-tag', sans-serif}.t-icon-e-learning::before{content:'@';font-family:'icone-tag', sans-serif}.t-icon-arrow-az::before{content:'*';font-family:'icone-tag', sans-serif}.t-icon-wheelchair::before{content:'+';font-family:'icone-tag', sans-serif}.t-icon-teachers-students::before{content:'(';font-family:'icone-tag', sans-serif}.t-icon-bullseye-arrow::before{content:')';font-family:'icone-tag', sans-serif}.t-icon-backpack::before{content:',';font-family:'icone-tag', sans-serif}.t-icon-heart::before{content:"'";font-family:'icone-tag', sans-serif}.t-icon-update::before{content:'$';font-family:'icone-tag', sans-serif}.t-icon-no-teacher::before{content:'%';font-family:'icone-tag', sans-serif}.t-student-monitoring::before{content:'~';font-family:'icone-tag', sans-serif}.t-parents-children::before{content:'^';font-family:'icone-tag', sans-serif}.t-monitoring_report::before{content:'{';font-family:'icone-tag', sans-serif}.t-info_positive::before{content:'}';font-family:'icone-tag', sans-serif}.t-medical::before{content:'É';font-family:'icone-tag', sans-serif}.t-hospital-user::before{content:'·';font-family:'icone-tag', sans-serif}.t-doctor::before{content:'_';font-family:'icone-tag', sans-serif}.t-classdiary::before{content:'Ú';font-family:'icone-tag', sans-serif}.t-school-transfer::before{content:'ó';font-family:'icone-tag', sans-serif}.t-class-transfer::before{content:'Í';font-family:'icone-tag', sans-serif}.t-transfer-all-school::before{content:'Ê';font-family:'icone-tag', sans-serif}.t-stage-teachers::before{content:'ñ';font-family:'icone-tag', sans-serif}.t-school-teacher::before{content:'í';font-family:'icone-tag', sans-serif}.t-class-diary::before{content:'Ú';font-family:'icone-tag', sans-serif}.t-icon-start::before{content:'ô';font-family:'icone-tag', sans-serif}.t-statistic-data::before{content:'é';font-family:'icone-tag', sans-serif}.t-report_card::before{content:'ê';font-family:'icone-tag', sans-serif}.t-group-bag::before{content:'Á';font-family:'icone-tag', sans-serif}.t-scholarship-schools::before{content:'Â';font-family:'icone-tag', sans-serif}.t-amount-class::before{content:'â';font-family:'icone-tag', sans-serif}.t-amount-school::before{content:'á';font-family:'icone-tag', sans-serif}.t-id-card-clip::before{content:'ã';font-family:'icone-tag', sans-serif}.reports{display:flex;flex-wrap:wrap}.t-reports_icons{font-size:28px;color:#3f45ea}.t-sortable{list-style-type:none}.t-sortable>*{background:#fafafe !important;border:1px solid #bac7d5 !important;margin:4px;border-radius:3px;color:#252A31 !important;display:flex;padding:12px 16px;align-items:center;gap:12px}.t-separator{width:100%;border-top:.5px solid #e8edf1;margin:6px 0px}.t-accordeon .ui-accordion-header,.t-accordeon-primary .ui-accordion-header,.t-accordeon-secondary .ui-accordion-header,.t-accordeon-tertiary .ui-accordion-header{display:flex !important;background:#F5F7F9;cursor:pointer;padding:4px 12px !important;border-radius:0;border:none;color:#252A31}.t-accordeon .ui-accordion-header .t-title,.t-accordeon-primary .ui-accordion-header .t-title,.t-accordeon-secondary .ui-accordion-header .t-title,.t-accordeon-tertiary .ui-accordion-header .t-title{margin:0 8px;font-weight:500;color:#252A31}.t-accordeon .ui-accordion-content,.t-accordeon-primary .ui-accordion-content,.t-accordeon-secondary .ui-accordion-content,.t-accordeon-tertiary .ui-accordion-content{height:auto !important;overflow-x:hidden !important}.t-accordeon-primary .ui-accordion-header{background:#F5F7F9}.t-accordeon-primary .icon-color{color:#5F738C}.t-accordeon-secondary .ui-accordion-header{padding:0 0 !important;background:#e8edf1;color:#5F738C}.t-accordeon-secondary .ui-accordion-header .t-title{margin:0 8px;font-weight:500;color:#252A31}.t-accordeon-secondary .ui-accordion-content{height:auto !important;overflow-x:hidden !important;background-color:#fff;padding:0em !important}.t-accordeon-secondary .ui-widget-content{background:none !important}.t-accordeon-secondary .icon-color{color:#5F738C;font-size:18px;margin-right:12px}.t-accordeon-secondary .t-accordeon-container-table{justify-content:space-between;display:flex;flex-direction:row}.t-accordeon-tertiary .ui-accordion-header{padding:12px 0 !important;background:#F5F7F9}.t-accordeon-tertiary .ui-accordion-header:hover,.t-accordeon-tertiary .ui-accordion-header--active{background-color:#e5eaef}.t-accordeon-tertiary .ui-accordion-content{background-color:#fff;background:none !important;padding-left:0 !important;padding-right:0 !important;height:auto}.login-form{flex-direction:column;margin-top:3.25em;margin-bottom:3.25em}.login-form .form-signin{position:relative;width:334px;margin-top:3.25em;margin-bottom:0em}.login-form .login-footer{margin-top:3.25em;margin-bottom:0em;flex-direction:column;justify-content:center;display:flex;text-align:center}.login-form .login-footer .login-link{word-wrap:break-word;white-space:nowrap}.login-form .login-footer .login-link a{color:black;text-decoration:none;font-weight:bold}.login-form .login-footer .login-link a:active{color:#4d2897;text-decoration:underline}.login-form .login-footer .login-link a:hover{color:#4d2897;text-decoration:underline}.login-form .login-versao{margin-top:3.25em;padding-top:3.25em}.t-tag,.t-tag-primary,.t-tag-secundary{display:flex;align-items:center;justify-content:center;font-size:14px;padding:4px 8px;border-radius:6px;width:fit-content}.t-tag-primary{color:#16205b;background-color:#EAEAF8}.t-tag-secundary{color:#004680;background-color:#B4DBF8}.align-items--center{display:flex;align-items:center}@media (min-width: 768px){.align-items--center-on-desktop{display:flex;align-items:center}}.align-items--baseline{display:flex;align-items:baseline}.align-items--stretch{display:flex;align-items:stretch}.align-items--end{display:flex;align-items:end}.justify-content--center{display:flex;justify-content:center}.justify-content--start{display:flex;justify-content:start}.justify-content--space-between{display:flex;justify-content:space-between}.justify-content--end{display:flex;justify-content:end}.text-align--center{text-align:center}.text-align--left{text-align:left}.text-align--right{text-align:right}.text-align--justify{text-align:justify}.clear-margin--left{margin-left:0}.clear-margin--right{margin-right:0}.clear-margin--top{margin-top:0}.clear-margin--bottom{margin-bottom:0}.clear-margin--all{margin:0}.clear-margin--x{margin-right:0;margin-left:0}.clear-margin--y{margin-top:0;margin-bottom:0}.wrap{flex-wrap:wrap}.hide{display:none}.show{display:block}.show--mobile{display:flex}@media (min-width: 640px){.show--mobile{display:none}}.show--tablet{display:flex}@media (min-width: 768px){.show--tablet{display:none}}.show--desktop{display:none}@media (min-width: 768px){.show--desktop{display:flex}}.full{width:100%;height:100%}.full--width{width:100%}.full--height{height:100%} diff --git a/sass/scss/_grid.scss b/sass/scss/_grid.scss index 135a29717..6bd101117 100644 --- a/sass/scss/_grid.scss +++ b/sass/scss/_grid.scss @@ -17,6 +17,11 @@ @include device(mobile) { flex-direction: row; } + &.margin-large { + &--bottom { + margin-bottom: $spaceXLarge / 2; + } + } } .mobile-row { From 25006742cc3a05263749c3a935c3f6dc04e07bf6 Mon Sep 17 00:00:00 2001 From: gabriel-IPTI Date: Thu, 14 Sep 2023 11:24:20 -0300 Subject: [PATCH 003/570] =?UTF-8?q?alterado=20formul=C3=A1rio=20de=20card?= =?UTF-8?q?=C3=A1pio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/modules/foods/FoodsModule.php | 7 +- app/modules/foods/models/FoodMenu.php | 3 +- .../foods/resources/_initialization.js | 22 ++ app/modules/foods/views/foodMenu/_form.php | 29 +- app/modules/foods/views/foodMenu/create.php | 1 - docker-compose.yml | 2 +- js/classes/class-contents/_initialization.js | 176 ----------- js/classes/class-contents/functions.js | 117 ------- js/classes/frequency/_initialization.js | 225 ------------- .../frequency/_initialization_instructor.js | 298 ------------------ 10 files changed, 53 insertions(+), 827 deletions(-) create mode 100644 app/modules/foods/resources/_initialization.js delete mode 100755 js/classes/class-contents/_initialization.js delete mode 100755 js/classes/class-contents/functions.js delete mode 100755 js/classes/frequency/_initialization.js delete mode 100644 js/classes/frequency/_initialization_instructor.js diff --git a/app/modules/foods/FoodsModule.php b/app/modules/foods/FoodsModule.php index 4a67b5602..93bccaf14 100644 --- a/app/modules/foods/FoodsModule.php +++ b/app/modules/foods/FoodsModule.php @@ -2,11 +2,16 @@ class FoodsModule extends CWebModule { + public $baseScriptUrl; + public $baseUrl; public function init() { // this method is called when the module is being created // you may place code here to customize the module or the application - + $this->baseUrl = Yii::app()->createUrl("foods"); + + $this->baseScriptUrl = Yii::app()->getAssetManager() + ->publish(Yii::getPathOfAlias('application.modules.foods.resources')); // import the module-level models and components $this->setImport(array( 'foods.models.*', diff --git a/app/modules/foods/models/FoodMenu.php b/app/modules/foods/models/FoodMenu.php index 9e1ef2bce..9f38cfb4c 100644 --- a/app/modules/foods/models/FoodMenu.php +++ b/app/modules/foods/models/FoodMenu.php @@ -33,9 +33,10 @@ public function rules() // NOTE: you should only define rules for those attributes that // will receive user inputs. return array( - array('start_date, final_date, stage_fk', 'required'), + array('stage_fk', 'required'), array('stage_fk', 'numerical', 'integerOnly'=>true), array('description, observation', 'length', 'max'=>100), + array('start_date, final_date', 'safe'), // The following rule is used by search(). // @todo Please remove those attributes that should not be searched. array('id, description, observation, start_date, final_date, stage_fk', 'safe', 'on'=>'search'), diff --git a/app/modules/foods/resources/_initialization.js b/app/modules/foods/resources/_initialization.js new file mode 100644 index 000000000..76f632979 --- /dev/null +++ b/app/modules/foods/resources/_initialization.js @@ -0,0 +1,22 @@ +alert("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); +$('.js-date').mask("99/99/9999"); + +// var currentDate = new Intl.DateTimeFormat('pt-BR').format(Date.now()); +$(".js-date").datepicker({ + locate: "pt-BR", + format: "dd/mm/yyyy", + autoclose: true, + todayHighlight: true, + allowInputToggle: true, + disableTouchKeyboard: true, + keyboardNavigation: false, + orientation: "bottom left", + clearBtn: true, + maxViewMode: 2, + startDate: "01/01/" + $(".school-year").val(), + endDate: "31/12/" + $(".school-year").val() +}).on('changeDate', function (ev, indirect) { + +}) + +// $(".js-date").datepicker("setDate", currentDate); \ No newline at end of file diff --git a/app/modules/foods/views/foodMenu/_form.php b/app/modules/foods/views/foodMenu/_form.php index 113a0c959..a83f1edc4 100644 --- a/app/modules/foods/views/foodMenu/_form.php +++ b/app/modules/foods/views/foodMenu/_form.php @@ -2,6 +2,10 @@ /* @var $this FoodMenuController */ /* @var $model FoodMenu */ /* @var $form CActiveForm */ + +$baseScriptUrl = Yii::app()->controller->module->baseScriptUrl; +$cs = Yii::app()->getClientScript(); +$cs->registerScriptFile($baseScriptUrl . '/_initialization.js'); ?>
@@ -15,7 +19,12 @@ 'enableAjaxValidation'=>false, )); ?> -
+
+
+

+ Informações do Cardápio +

+
labelEx($model, 'description', array('class' => 't-field-text__label')); ?> @@ -24,19 +33,20 @@
labelEx($model,'stage_fk', array('class' => 't-field-select__label')); ?> - dropDownList($model, 'stage_fk',[], array( 'class' => 'select-search-on t-field-select__input')); ?> + dropDownList($model, 'stage_fk',[], + array( 'class' => 'select-search-on t-field-select__input')); ?> error($model,'stage_fk'); ?>
labelEx($model,'start_date', array('class' => 't-field-text__label')); ?> - textField($model,'start_date', array('class'=>'t-field-text__input')); ?> + textField($model,'start_date', array('class'=>'t-field-text__input js-date')); ?> error($model,'start_date'); ?>
labelEx($model,'final_date', array('class' => 't-field-text__label')); ?> - textField($model,'final_date', array('class'=>'t-field-text__input')); ?> + textField($model,'final_date', array('class'=>'t-field-text__input js-date')); ?> error($model,'final_date'); ?>
@@ -48,12 +58,17 @@
+
errorSummary($model); ?>
- isNewRecord ? 'Create' : 'Save'); ?> + isNewRecord ? 'Criar' : 'Salvar', array('class'=>'t-button-primary')); ?>
endWidget(); ?> - - \ No newline at end of file + + diff --git a/app/modules/foods/views/foodMenu/create.php b/app/modules/foods/views/foodMenu/create.php index f2a7f4c72..5c27e4cd6 100644 --- a/app/modules/foods/views/foodMenu/create.php +++ b/app/modules/foods/views/foodMenu/create.php @@ -18,5 +18,4 @@ - renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 1542b9b22..28a89315d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,7 +14,7 @@ services: USER_DB_TAG: 'root' PWD_DB_TAG: 'root' TAG_ALIMENTOS: true - YII_DEBUG: false + YII_DEBUG: 0 XDEBUG_CONFIG: remote_host=172.24.112.1 # wsl network ip PHP_IDE_CONFIG: "serverName=xdebug-docker" SEDSP_URL: "https://homologacaointegracaosed.educacao.sp.gov.br" diff --git a/js/classes/class-contents/_initialization.js b/js/classes/class-contents/_initialization.js deleted file mode 100755 index 698d46e61..000000000 --- a/js/classes/class-contents/_initialization.js +++ /dev/null @@ -1,176 +0,0 @@ -function loadClassContents() { - if ($("#classroom").val() !== "" && $("#month").val() !== "" && (!$("#disciplines").is(":visible") || $("#disciplines").val() !== "")) { - - - jQuery.ajax({ - type: 'POST', - url: "?r=classes/getClassContents", - cache: false, - data: { - classroom: $("#classroom").val(), - month: $("#month").val(), - discipline: $("#disciplines").val() - }, - beforeSend: function () { - $(".loading-class-contents").css("display", "flex"); - $("#widget-class-contents").css("opacity", 0.3).css("pointer-events", "none"); - $("#classroom, #month, #disciplines, #classesSearch, #classesSearchMobile").attr("disabled", "disabled"); - }, - success: function (data) { - var data = jQuery.parseJSON(data); - if (data.valid) { - createTable(data); - $("#print").addClass("show").removeClass("hide"); - $("#save").addClass("show--desktop").removeClass("hide"); - $("#save-button-mobile").addClass("show--tablet").removeClass("hide"); - $('#error-badge').html('') - } else { - $('#error-badge').html('
' + data.error + '
') - $('#class-contents > thead').html(''); - $('#class-contents > tbody').html(''); - $('#class-contents').show(); - $("#save, #save-button-mobile").addClass("hide"); - } - $('#month_text').html($('#month').find('option:selected').text()); - $('#discipline_text').html($('#disciplines').is(":visible") ? $('#disciplines').find('option:selected').text() : "Todas as Disciplinas"); - }, - complete: function () { - $(".loading-class-contents").hide(); - $("#widget-class-contents").css("opacity", 1).css("pointer-events", "auto").show(); - $("#classroom, #month, #disciplines, #classesSearch, #classesSearchMobile").removeAttr("disabled"); - } - }); - } else { - $("#widget-class-contents").hide(); - $("#print, #save, #save-button-mobile").addClass("hide"); - } -} - - -$('#classesSearch, #classesSearchMobile').on('click', loadClassContents); - -$("#classroom").on("change", function () { - $("#disciplines").val("").trigger("change.select2"); - if ($(this).val() !== "") { - if ($("#classroom > option:selected").attr("fundamentalmaior") === "1") { - $.ajax({ - type: "POST", - url: "?r=classes/getDisciplines", - cache: false, - data: { - classroom: $("#classroom").val(), - }, - success: function (response) { - if (response == "") { - $("#disciplines").html("").trigger("change.select2").show(); - } else { - $("#disciplines").html(decodeHtml(response)).trigger("change.select2").show(); - } - $(".disciplines-container").show(); - }, - }); - } else { - $(".disciplines-container").hide(); - } - } else { - $(".disciplines-container").hide(); - } -}); - -$("#month").on("change", loadClassContents); - - -$("#disciplines").on("change", loadClassContents); - -$(document).ready(function () { - $('#class-contents').hide(); -}); - -$(document).on("click", "#print", function () { - window.print(); -}); - -$("#save, #save-button-mobile").on('click', function () { - $(".alert-save").hide(); - var classContents = []; - $(".day-row").each(function () { - var students = []; - $(this).find(".student-diary-of-the-day").each(function () { - students.push({ - id: $(this).attr("studentid"), - diary: $(this).val() - }) - }); - console.log($(this).find("select.course-classes-select").val()) - classContents.push({ - day: $(this).attr("day"), - diary: $(this).find(".classroom-diary-of-the-day").val(), - contents: $(this).find("select.course-classes-select").val(), - students: students - }); - }); - $.ajax({ - type: "POST", - url: "?r=classes/saveClassContents", - cache: false, - data: { - classroom: $("#class-contents").attr("classroom"), - month: $("#class-contents").attr("month"), - discipline: $("#class-contents").attr("discipline"), - fundamentalMaior: $("#class-contents").attr("fundamentalmaior"), - classContents: classContents - }, - beforeSend: function () { - $(".loading-class-contents").css("display", "flex"); - $("#widget-class-contents").css("opacity", 0.3).css("pointer-events", "none"); - $("#classroom, #month, #disciplines, #classesSearch, #classesSearchMobile").attr("disabled", "disabled"); - }, - success: function (response) { - $(".alert-save").show(); - }, - complete: function (response) { - $(".loading-class-contents").hide(); - $("#widget-class-contents").css("opacity", 1).css("pointer-events", "auto"); - $("#classroom, #month, #disciplines, #classesSearch, #classesSearchMobile").removeAttr("disabled"); - }, - }); -}); - -$('.heading-buttons').css('width', $('#content').width()); - -$(document).on("click", ".classroom-diary-button", function () { - var button = this; - $(".classroom-diary-day").val($(button).closest("tr").attr("day")); - $(".js-classroom-diary").val($(button).parent().find(".classroom-diary-of-the-day").val()); - $(".js-std-classroom-diaries").each(function () { - var value = $(button).parent().find(".student-diary-of-the-day[studentid=" + $(this).find(".js-student-classroom-diary").attr("studentid") + "]").val(); - $(this).find(".js-student-classroom-diary").val(value); - value !== "" - ? $(this).find(".accordion-title").find(".fa").removeClass("fa-file-o").addClass("fa-file-text-o") - : $(this).find(".accordion-title").find(".fa").removeClass("fa-file-text-o").addClass("fa-file-o"); - }); - $("#js-classroomdiary").modal("show"); -}); - -$(document).on("click", ".js-add-classroom-diary", function () { - var tr = $("#class-contents tbody").find("tr[day=" + $(".classroom-diary-day").val() + "]"); - - tr.find(".classroom-diary-of-the-day").val($(".js-classroom-diary").val()); - $(".js-student-classroom-diary").each(function () { - tr.find(".student-diary-of-the-day[studentid=" + $(this).attr - ("studentid") + "]").val($(this).val()) - }); -}); - -$(document).on("keypress", ".js-classroom-diary, .js-student-classroom-diary", function (event) { - if (event.which === 13) { - event.preventDefault(); - this.value = this.value + "\n"; - } -}); - -$(document).on("input", ".js-student-classroom-diary", function () { - $(this).val() === "" - ? $(this).closest(".accordion-group").find(".accordion-title").find(".fa").removeClass("fa-file-text-o").addClass("fa-file-o") - : $(this).closest(".accordion-group").find(".accordion-title").find(".fa").removeClass("fa-file-o").addClass("fa-file-text-o"); -}); \ No newline at end of file diff --git a/js/classes/class-contents/functions.js b/js/classes/class-contents/functions.js deleted file mode 100755 index ad60f8f4e..000000000 --- a/js/classes/class-contents/functions.js +++ /dev/null @@ -1,117 +0,0 @@ -function createTable(data) { - $("#class-contents").attr("classroom", $("#classroom").val()).attr("month", $("#month").val()).attr("discipline", $("#disciplines").val()).attr("fundamentalmaior", $("#classroom option:selected").attr("fundamentalmaior")); - $('#class-contents > thead').html('DiasConteúdo ministrado em sala de aula'); - $('#class-contents > tbody').html(''); - - var options = ""; - $.each(data.courseClasses, function () { - options += ''; - }); - var accordionBuilt = false; - var accordionHtml = ""; - accordionHtml += `
` - $.each(data.classContents, function (day, classContent) { - var studentInputs = ""; - if (Object.keys(classContent.students).length) { - $.each(classContent.students, function () { - studentInputs += ""; - if (!accordionBuilt) { - accordionHtml += - `
-

- - ${this.name} -

-
-
- -
` - } - }); - if (!accordionBuilt) { - $(".accordion-students").html(accordionHtml); - accordionBuilt = true; - } - $(".classroom-diary-no-students").hide(); - } else { - $(".classroom-diary-no-students").show(); - } - - var head = '' + ((day < 10) ? '0' : '') + day + ''; - var body = '' - + '' - + studentInputs - + '' - + '' - + ''; - $('#class-contents > tbody').append('' + head + body + ''); - var select = $("select.course-classes-select").last(); - select.children("option").each(function () { - if (!select.find("optgroup[value=" + $(this).attr("disciplineid") + "]").length) { - select.append(""); - } - $(this).appendTo(select.find("optgroup[value=" + $(this).attr("disciplineid") + "]")); - }); - if (classContent.contents !== undefined) { - $.each(classContent.contents, function (i, v) { - select.find('option[value=' + v + ']').attr('selected', 'selected'); - }); - } - }); - accordionHtml += `
` - $('select.course-classes-select').select2({ - width: "calc(100% - 40px)", - formatSelection: function (state) { - var textArray = state.text.split("|"); - return 'Plano de Aula "' + textArray[0] + '": Aula ' + textArray[1]; - }, - formatResult: function (data, container) { - var textArray = data.text.split("|"); - if (textArray.length === 1) { - return "
" + textArray[0] + "
"; - } else { - return "
Plano de Aula: " + textArray[0] + "
Aula " + textArray[1] + " - " + textArray[2] + "
"; - } - }, - }); - $('[data-toggle="tooltip"]').tooltip({container: "body"}); - $('#widget-class-contents').show(); - $('#class-contents').show(); - - $(function () { - $( "#accordion" ).accordion({ - active: false, - collapsible: true, - icons: false - }); - }) - -} - -/* -const tableContents = { - // data - data: {}, - setData: function (data){ - this.data = data; - }, - // mutate - - // render - renderTable: function () { - this.table = $("
"); - }, - renderRowContent: function (days, students) { - array.forEach(element => { - let row = $(""); - - this.table.append() - }); - }, - renderListStudents: function () {}, - renderListItemStudent: function () {}, - build: function () {} -}; -*/ \ No newline at end of file diff --git a/js/classes/frequency/_initialization.js b/js/classes/frequency/_initialization.js deleted file mode 100755 index 43d110dde..000000000 --- a/js/classes/frequency/_initialization.js +++ /dev/null @@ -1,225 +0,0 @@ -function load() { - if ($("#classroom").val() !== "Selecione a turma" && $("#month").val() !== "" && (!$("#disciplines").is(":visible") || $("#disciplines").val() !== "")) { - $(".alert-required-fields, .alert-incomplete-data").hide(); - var fundamentalMaior = Number($("#classroom option:selected").attr("fundamentalmaior")); - jQuery.ajax({ - type: "POST", - url: "?r=classes/getFrequency", - cache: false, - data: { - classroom: $("#classroom").val(), - fundamentalMaior: fundamentalMaior, - discipline: $("#disciplines").val(), - month: $("#month").val(), - }, - beforeSend: function () { - $(".loading-frequency").css("display", "inline-block"); - $(".table-frequency").css("opacity", 0.3).css("pointer-events", "none"); - $("#classroom, #month, #disciplines, #classesSearch").attr("disabled", "disabled"); - }, - success: function (response) { - var data = JSON.parse(response); - if (data.valid) { - var html = ""; - html += - ` - - - `; - var daynameRow = ""; - var dayRow = ""; - var scheduleRow = ""; - var checkboxRow = ""; - $.each(data.students[0].schedules, function () { - dayRow += ""; - - checkboxRow += ""; - }); - html += "" + dayRow + "" + checkboxRow + ""; - html += ""; - $.each(data.students, function (indexStudent, student) { - html += ""; - $.each(student.schedules, function (indexSchedule, schedule) { - var justificationContainer = ""; - if (schedule.fault) { - if (schedule.justification !== null) { - justificationContainer += ""; - } else { - justificationContainer += ""; - } - } - html += ""; - }); - html += ""; - }); - html += "
" + (pad(this.day, 2) + "/" + pad($("#month").val(), 2)) + "
" + student.studentName + "" + justificationContainer + "
"; - $("#frequency-container").html(html).show(); - $(".frequency-checkbox-general").each(function () { - var day = $(this).find(".frequency-checkbox").attr("day"); - $(this).find(".frequency-checkbox").prop("checked", $(".frequency-checkbox-student .frequency-checkbox[day=" + day + "]:checked").length === $(".frequency-checkbox-student .frequency-checkbox[day=" + day + "]").length); - }); - $('[data-toggle="tooltip"]').tooltip({ container: "body" }); - } else { - $("#frequency-container").hide(); - $(".alert-incomplete-data").html(data.error).show(); - } - }, - complete: function (response) { - $(".loading-frequency").hide(); - $(".table-frequency").css("opacity", 1).css("pointer-events", "auto"); - $("#classroom, #month, #disciplines, #classesSearch").removeAttr("disabled"); - }, - }); - } else { - $(".alert-required-fields").show(); - $("#frequency-container, .alert-incomplete-data").hide(); - } -} - -$(document).on("click", ".frequency-checkbox-container", function (e) { - if (e.target === this && !$(this).hasClass("disabled")) { - $(this).find(".frequency-checkbox").prop("checked", !$(this).find(".frequency-checkbox").is(":checked")).trigger("change"); - } -}); - -$("#classroom").on("change", function () { - $("#disciplines").val("").trigger("change.select2"); - if ($(this).val() !== "") { - if ($("#classroom > option:selected").attr("fundamentalMaior") === "1") { - $.ajax({ - type: "POST", - url: "?r=classes/getDisciplines", - cache: false, - data: { - classroom: $("#classroom").val(), - }, - success: function (response) { - if (response === "") { - $("#disciplines").html("").trigger("change.select2").show(); - } else { - $("#disciplines").html(decodeHtml(response)).trigger("change.select2").show(); - } - $(".disciplines-container").show(); - }, - }); - } else { - $(".disciplines-container").hide(); - load(); - - } - } else { - $(".disciplines-container").hide(); - } -}); - -$(".js-load-frequency").on("change", function () { - load(); -}); - -$(document).on("change", ".frequency-checkbox", function () { - var checkbox = this; - $.ajax({ - type: "POST", - url: "?r=classes/saveFrequency", - cache: false, - data: { - classroomId: $(this).attr("classroomId"), - day: $(this).attr("day"), - month: $(this).attr("month"), - schedule: $(this).attr("schedule"), - studentId: $(this).attr("studentId"), - fault: $(this).is(":checked") ? 1 : 0, - fundamentalMaior: $(this).attr("fundamentalMaior") - }, - beforeSend: function () { - $(".loading-frequency").css("display", "inline-block"); - $(".table-frequency").css("opacity", 0.3).css("pointer-events", "none"); - $("#classroom, #month, #disciplines, #classesSearch").attr("disabled", "disabled"); - }, - complete: function (response) { - if ($(checkbox).attr("studentId") === undefined) { - $(".table-frequency tbody .frequency-checkbox[day=" + $(checkbox).attr("day") + "][schedule=" + $(checkbox).attr("schedule") + "]").prop("checked", $(checkbox).is(":checked")); - if ($(checkbox).is(":checked")) { - $(".table-frequency tbody .frequency-checkbox[day=" + $(checkbox).attr("day") + "][schedule=" + $(checkbox).attr("schedule") + "]").each(function () { - if (!$(this).parent().find(".frequency-justification-icon").length) { - $(this).parent().append(""); - } - }); - } else { - $(".table-frequency tbody .frequency-checkbox[day=" + $(checkbox).attr("day") + "][schedule=" + $(checkbox).attr("schedule") + "]").parent().find(".frequency-justification-icon").remove(); - } - } else { - if ($(checkbox).is(":checked")) { - $(checkbox).parent().append(""); - } else { - $(checkbox).parent().find(".frequency-justification-icon").remove(); - - } - } - $(".loading-frequency").hide(); - $(".table-frequency").css("opacity", 1).css("pointer-events", "auto"); - $("#classroom, #month, #disciplines, #classesSearch").removeAttr("disabled"); - }, - }); -}); - -$(document).on("click", ".frequency-justification-icon", function () { - var checkbox = $(this).parent().find(".frequency-checkbox"); - $("#justification-classroomid").val(checkbox.attr("classroomid")); - $("#justification-studentid").val(checkbox.attr("studentid")); - $("#justification-day").val(checkbox.attr("day")); - $("#justification-month").val(checkbox.attr("month")); - $("#justification-schedule").val(checkbox.attr("schedule")); - $("#justification-fundamentalmaior").val(checkbox.attr("fundamentalmaior")); - $(".justification-text").val($(this).attr("data-original-title")); - $("#save-justification-modal").modal("show"); -}); - -$("#save-justification-modal").on('shown', function () { - $(".justification-text").focus(); -}); - -$(document).on("click", ".btn-save-justification", function () { - $.ajax({ - type: "POST", - url: "?r=classes/saveJustification", - cache: false, - data: { - classroomId: $("#justification-classroomid").val(), - studentId: $("#justification-studentid").val(), - day: $("#justification-day").val(), - month: $("#justification-month").val(), - schedule: $("#justification-schedule").val(), - fundamentalMaior: $("#justification-fundamentalmaior").val(), - justification: $(".justification-text").val() - }, - beforeSend: function () { - $("#save-justification-modal").find(".modal-body").css("opacity", 0.3).css("pointer-events", "none"); - $("#save-justification-modal").find("button").attr("disabled", "disabled"); - $("#save-justification-modal").find(".centered-loading-gif").show(); - }, - success: function (data) { - var justification = $(".table-frequency tbody .frequency-checkbox[studentid=" + $("#justification-studentid").val() + "][day=" + $("#justification-day").val() + "][month=" + $("#justification-month").val() + "]").parent().find(".frequency-justification-icon"); - if ($(".justification-text").val() == "") { - justification.html(""); - justification.attr("data-original-title", "").tooltip('hide'); - } else { - justification.html(""); - justification.attr("data-original-title", $(".justification-text").val()).tooltip({ container: "body" }); - } - $("#save-justification-modal").modal("hide"); - }, - complete: function (response) { - $("#save-justification-modal").find(".modal-body").css("opacity", 1).css("pointer-events", "auto"); - $("#save-justification-modal").find("button").removeAttr("disabled"); - $("#save-justification-modal").find(".centered-loading-gif").hide(); - }, - }); -}); - -$(document).on("keyup", ".justification-text", function (e) { - if (e.keyCode == 13) { - $(".btn-save-justification").trigger("click"); - } -}); \ No newline at end of file diff --git a/js/classes/frequency/_initialization_instructor.js b/js/classes/frequency/_initialization_instructor.js deleted file mode 100644 index 0d5ce3630..000000000 --- a/js/classes/frequency/_initialization_instructor.js +++ /dev/null @@ -1,298 +0,0 @@ -$("#classesSearch").on("click", function () { - if ( - $("#classroom").val() !== "" && - $("#month").val() !== "" && - (!$("#disciplines").is(":visible") || $("#disciplines").val() !== "") - ) { - $(".alert-required-fields, .alert-incomplete-data").hide(); - var fundamentalMaior = Number( - $("#classroom option:selected").attr("fundamentalmaior") - ); - jQuery.ajax({ - type: "POST", - url: "?r=classes/getFrequency", - cache: false, - data: { - classroom: $("#classroom").val(), - fundamentalMaior: fundamentalMaior, - discipline: $("#disciplines").val(), - month: $("#month").val(), - }, - beforeSend: function () { - $(".loading-frequency").css("display", "inline-block"); - $(".table-frequency").css("opacity", 0.3).css("pointer-events", "none"); - $(".table-frequency-head").css("opacity", 0.3).css("pointer-events", "none"); - $("#classroom, #month, #disciplines, #classesSearch").attr( - "disabled", - "disabled" - ); - }, - - success: function (response) { - var data = JSON.parse(response); - if (data.valid) { - var accordion = ""; - accordion += - '
'; - var item = 0; - $.each(data.students[0].schedules, function () { - var dia = this.day; - var mes = $("#month").val(); - fault = this.fault; - item++; - accordion += - ` -
- - - - - - - -
-
- Nome -
-
- ${this.day}/${mes} -
-
-
- - `; - $.each(data.students, function (indexStudent, student) { - var hasFaults = student.schedules.filter((schedule) => dia == schedule.day && mes == $("#month").val() && schedule.fault == true).length > 0; - accordion += - ` - - `; - $.each(student.schedules, function (indexSchedule, schedule) { - if (dia == schedule.day && mes == $("#month").val()) { - var justificationContainer = ""; - if (schedule.fault) { - if (schedule.justification !== null) { - justificationContainer += - ""; - } else { - justificationContainer += - ""; - } - } - - accordion += - ``; - } - - - }); - accordion += ``; - }); - accordion += - ` -
-
- ${student.studentName} - - - -
-
- - ${justificationContainer} -
-
`; - }); - accordion += `
`; - $("#frequency-container").html(accordion).show(); - - - - - - $(function () { - $("#accordion").accordion({ - collapsible: true, - icons: null, - }); - }); - $(".frequency-checkbox-general").each(function () { - var day = $(this).find(".frequency-checkbox").attr("day"); - $(this) - .find(".frequency-checkbox") - .prop("checked", $(".frequency-checkbox-student .frequency-checkbox[day=" + day + "]:checked").length === $(".frequency-checkbox-student .frequency-checkbox[day=" + day + "]").length); - }); - $('[data-toggle="tooltip"]').tooltip({ container: "body" }); - } else { - $("#frequency-container").hide(); - $(".alert-incomplete-data").html(data.error).show(); - } - }, - complete: function () { - $(".loading-frequency").hide(); - $(".table-frequency").css("opacity", 1).css("pointer-events", "auto").css("background-color", "white"); - $(".table-frequency-head").css("opacity", 1).css("pointer-events", "auto"); - $("#classroom, #month, #disciplines, #classesSearch").removeAttr( - "disabled" - ); - }, - }); - } else { - $(".alert-required-fields").show(); - $("#frequency-container, .alert-incomplete-data").hide(); - } -}); - -$(document).on("click", ".frequency-checkbox-container", function (e) { - if (e.target === this && !$(this).hasClass("disabled")) { - $(this) - .find(".frequency-checkbox") - .prop("checked", !$(this).find(".frequency-checkbox").is(":checked")) - .trigger("change"); - } -}); - -$("#classroom").on("change", function () { - $("#disciplines").val("").trigger("change.select2"); - if ($(this).val() !== "") { - if ($("#classroom > option:selected").attr("fundamentalMaior") === "1") { - $.ajax({ - type: "POST", - url: "?r=classes/getDisciplines", - cache: false, - data: { - classroom: $("#classroom").val(), - }, - success: function (response) { - if (response === "") { - $("#disciplines") - .html("") - .trigger("change.select2") - .show(); - } else { - $("#disciplines") - .html(decodeHtml(response)) - .trigger("change.select2") - .show(); - } - $(".disciplines-container").show(); - }, - }); - } else { - $(".disciplines-container").hide(); - } - } else { - $(".disciplines-container").hide(); - } -}); - -$(document).on("change", ".frequency-checkbox", function () { - var checkbox = this; - $.ajax({ - type: "POST", - url: "?r=classes/saveFrequency", - cache: false, - data: { - classroomId: $(this).attr("classroomId"), - day: $(this).attr("day"), - month: $(this).attr("month"), - schedule: $(this).attr("schedule"), - studentId: $(this).attr("studentId"), - fault: $(this).is(":checked") ? 1 : 0, - fundamentalMaior: $(this).attr("fundamentalMaior"), - }, - - beforeSend: function () { - $(".loading-frequency").css("display", "inline-block"); - $(".table-frequency").css("opacity", 0.3).css("pointer-events", "none"); - $(".table-frequency-head").css("opacity", 0.3).css("pointer-events", "none"); - $("#classroom, #month, #disciplines, #classesSearch").attr( - "disabled", - "disabled" - ); - }, - complete: function () { - if ($(checkbox).is(":checked")) { - $('[studentid=' + $(checkbox).attr('studentid') + '][day=' + $(checkbox).attr('day') + '].frequency-justification-icon').removeClass("hide").addClass("show"); - } else { - $('[studentid=' + $(checkbox).attr('studentid') + '][day=' + $(checkbox).attr('day') + '].frequency-justification-icon').removeClass("show").addClass("hide"); - } - - $(".loading-frequency").hide(); - $(".table-frequency").css("opacity", 1).css("pointer-events", "auto"); - $(".table-frequency-head").css("opacity", 1).css("pointer-events", "auto"); - $("#classroom, #month, #disciplines, #classesSearch").removeAttr( - "disabled" - ); - }, - }); -}); - -$(document).on("click", ".frequency-justification-icon", function () { - var checkbox = $('[studentid=' + $(this).attr('studentid') + '].frequency-checkbox'); - - $("#justification-classroomid").val(checkbox.attr("classroomid")); - $("#justification-studentid").val(checkbox.attr("studentid")); - - $("#justification-day").val(checkbox.attr("day")); - $("#justification-month").val(checkbox.attr("month")); - $("#justification-schedule").val(checkbox.attr("schedule")); - $("#justification-fundamentalmaior").val(checkbox.attr("fundamentalmaior")); - $(".justification-text").val($(this).attr("data-original-title")); - $("#save-justification-modal").modal("show"); -}); - -$("#save-justification-modal").on("shown", function () { - $(".justification-text").focus(); -}); - -$(document).on("click", ".btn-save-justification", function () { - $.ajax({ - type: "POST", - url: "?r=classes/saveJustification", - cache: false, - data: { - classroomId: $("#justification-classroomid").val(), - studentId: $("#justification-studentid").val(), - day: $("#justification-day").val(), - month: $("#justification-month").val(), - schedule: $("#justification-schedule").val(), - fundamentalMaior: $("#justification-fundamentalmaior").val(), - justification: $(".justification-text").val(), - }, - beforeSend: function () { - $("#save-justification-modal").find(".modal-body").css("opacity", 0.3).css("pointer-events", "none"); - $("#save-justification-modal").find("button").attr("disabled", "disabled"); - $("#save-justification-modal").find(".centered-loading-gif").show(); - }, - success: function (data) { - var justification = $(".table-frequency tbody .frequency-checkbox[studentid=" + $("#justification-studentid").val() + "][day=" + $("#justification-day").val() + "][month=" + $("#justification-month").val() + "]").parent().parent().find(".frequency-justification-icon"); - - if ($(".justification-text").val() == "") { - justification.attr("data-original-title", "").tooltip("hide"); - } else { - justification.attr("data-original-title", $(".justification-text").val()).tooltip({ container: "body" }); - } - $("#save-justification-modal").modal("hide"); - }, - complete: function () { - $("#save-justification-modal").find(".modal-body").css("opacity", 1).css("pointer-events", "auto"); - $("#save-justification-modal").find("button").removeAttr("disabled"); - $("#save-justification-modal").find(".centered-loading-gif").hide(); - }, - }); -}); - -$(document).on("keyup", ".justification-text", function (e) { - if (e.keyCode == 13) { - $(".btn-save-justification").trigger("click"); - } -}); From 8e3ecda6887b8e6b8b12bc7d873cd9378642a076 Mon Sep 17 00:00:00 2001 From: gabriel-IPTI Date: Mon, 18 Sep 2023 11:07:55 -0300 Subject: [PATCH 004/570] change modal MenuFood --- .../resources/classDiary/_initialization.js | 2 +- .../resources/classDiary/functions.js | 13 +- .../classdiary/views/default/classDiary.php | 9 +- app/modules/foods/models/FoodMenuMeal.php | 136 ++++++++++++++++++ .../foods/resources/_initialization.js | 7 +- app/modules/foods/resources/functinos.js | 4 + app/modules/foods/views/foodMenu/_form.php | 64 ++++++++- app/modules/foods/views/foodMenu/create.php | 4 +- sass/css/main.css | 2 +- sass/scss/_helpers.scss | 15 +- sass/scss/_modal.scss | 4 +- sass/scss/_tokens.scss | 2 +- sass/scss/components/_field-checkbox.scss | 2 + sass/scss/components/_field-number.scss | 2 + sass/scss/components/_field-select2.scss | 2 + sass/scss/components/_field-tarea.scss | 2 + sass/scss/components/_field-text.scss | 2 + .../default/views/classes/classContents.php | 8 +- themes/default/views/classes/frequency.php | 32 +++-- 19 files changed, 269 insertions(+), 43 deletions(-) create mode 100644 app/modules/foods/models/FoodMenuMeal.php create mode 100644 app/modules/foods/resources/functinos.js diff --git a/app/modules/classdiary/resources/classDiary/_initialization.js b/app/modules/classdiary/resources/classDiary/_initialization.js index 3cf3cc6b3..0c331f405 100644 --- a/app/modules/classdiary/resources/classDiary/_initialization.js +++ b/app/modules/classdiary/resources/classDiary/_initialization.js @@ -1,6 +1,6 @@ $('.js-date').mask("99/99/9999"); -var currentDate = new Intl.DateTimeFormat('pt-BR').format(Date.now()); +let currentDate = new Intl.DateTimeFormat('pt-BR').format(Date.now()); $(".js-date").datepicker({ locate: "pt-BR", format: "dd/mm/yyyy", diff --git a/app/modules/classdiary/resources/classDiary/functions.js b/app/modules/classdiary/resources/classDiary/functions.js index 56eb09197..75d36e504 100644 --- a/app/modules/classdiary/resources/classDiary/functions.js +++ b/app/modules/classdiary/resources/classDiary/functions.js @@ -1,6 +1,6 @@ $('.js-add-course-classes-accordion').on("change", function (){ - var optionSelected = $(this).val(); - var PlanName = $(this).find('option[value="' + optionSelected + '"]').text(); + let optionSelected = $(this).val(); + let PlanName = $(this).find('option[value="' + optionSelected + '"]').text(); $.ajax({ @@ -33,7 +33,6 @@ function renderFrequencyElement(w) { const stage_fk = urlParams.get("stage_fk") const discipline_fk = urlParams.get("discipline_fk") const date = $('.js-date').val() - // const url = w <= 640 ? `RenderFrequencyElementMobile` : `RenderFrequencyElementDesktop`; const url =`RenderFrequencyElementMobile`; $.ajax({ url: `${window.location.host}?r=classdiary/default/${url}&classroom_fk=${classroom_fk}&stage_fk=${stage_fk}&discipline_fk=${discipline_fk}&date=${date}`, @@ -56,7 +55,7 @@ function updateClassesContents() }).success((response) => { if(response.valid==true){ - var options = ""; + let options = ""; $.each(response["courseClasses"], function () { options += ''; }); @@ -64,11 +63,11 @@ function updateClassesContents() $("#coursePlan").select2("val", response["classContents"]); $('#coursePlan').select2({ formatSelection: function (state) { - var textArray = state.text.split("|"); + let textArray = state.text.split("|"); return 'Plano de Aula "' + textArray[0] + '": Aula ' + textArray[1]; }, formatResult: function (data, container) { - var textArray = data.text.split("|"); + let textArray = data.text.split("|"); if (textArray.length === 1) { return "
" + textArray[0] + "
"; } else { @@ -126,6 +125,6 @@ $(".js-change-date").on("click", function () { updateClassesContents(); }); -var widthWindow = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; +let widthWindow = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; renderFrequencyElement(widthWindow) updateClassesContents(); \ No newline at end of file diff --git a/app/modules/classdiary/views/default/classDiary.php b/app/modules/classdiary/views/default/classDiary.php index c0df44b68..48dea89e6 100644 --- a/app/modules/classdiary/views/default/classDiary.php +++ b/app/modules/classdiary/views/default/classDiary.php @@ -27,7 +27,9 @@